PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 14-10-2010 17:40:32

fanch75
Membre
Inscription : 14-05-2009
Messages : 47

probleme avec copy()

Bonjour,
j'ai un script qui uploade une image dans un repertoire "images" de mon serveur avec move_uploaded_file. Ensuite je retaille cette image a la bonne dimension, et je la remplace.
Ensuite je la copie avec copy() dans un autre répertoire "pictos". Et je la retaille à la bonne taille.
Probleme : l'upload de l'image se passe bien. Le resize de l'image se passe bien.
Copy() se fait... mais :
1. Le resize de l'image copiée ne se fait pas.
2. J'ai un message provenant je pense de la fonction copy(), mais je ne comprends rien, à cause de l'encodage des caracteres.

voici mon code :


if (empty($_FILES['photo1']['type'])) { $erreurphoto1="<span class='warning'>Vous devez choisir une image !</span>"; }
else {
if ($_FILES['photo1']['size'] > $taille_max)
{ $erreurphoto1 = "<span class='warning'>L&apos;image doit etre un fichier jpeg d&apos;un poids inférieur à 20 Mo !</em></span>"; }
elseif (!in_array($_FILES['photo1']['type'], $typeimage))
{ $erreurphoto1 = "<span class='warning'>L&apos;image doit etre un fichier jpg (ou jpeg) !</span>"; }
}

// Pas d'erreurs -> execution...
if (!isset($erreurphoto1))
{
$dest_fichier1 = "1.jpg";
// copie du fichier
move_uploaded_file($_FILES['photo1']['tmp_name'], $dest_dossierimages . $dest_fichier1);
$lienphoto1 = "galeries/$nomalbum/images/$dest_fichier1";
$lienpicto1 = "galeries/$nomalbum/pictos/$dest_fichier1";

// Resize de la photo
$redimphoto1 = $realpath."galeries/".$nomalbum."/images/".$dest_fichier1;

$photo1_size = getimagesize($redimphoto1);
$W_Srcphoto1 = $photo1_size[0];
$H_Srcphoto1 = $photo1_size[1];

$Wphoto1 = $Hphoto * ($W_Srcphoto1 / $H_Srcphoto1);        

$sizephoto1 = getimagesize($redimphoto1);

if (($sizephoto1['mime']=='image/jpeg') || ($sizephoto1['mime']=='image/jpg') || ($sizephoto1['mime']=='image/pjpg') || ($sizephoto1['mime']=='image/pjpeg')) {
$photo1_big = imagecreatefromjpeg($redimphoto1);
$photo1_new = imagecreate($Wphoto1, $Hphoto);
$photo1_mini = imagecreatetruecolor($Wphoto1, $Hphoto);

imagecopyresized($photo1_mini,$photo1_big,0,0,0,0,$Wphoto1,$Hphoto,$sizephoto1[0],$sizephoto1[1]);
imagejpeg($photo1_mini,$redimphoto1);
}
// copie et resize du picto
copy($realpath."galeries/".$nomalbum."/images/".$dest_fichier1 , $realpath."galeries/".$nomalbum."/pictos/".$dest_fichier1 );

$redimpicto1 = $realpath."galeries/".$nomalbum."/pictos/".$dest_fichier1;

$picto1_size = getimagesize($redimpicto1);
$W_Srcpicto1 = $picto1_size[0];
$H_Srcpicto1 = $picto1_size[1];

$Wpicto1 = $Hpicto * ($W_Srcpicto1 / $H_Srcpicto1);        

$sizepicto1 = getimagesize($redimpicto1);

if (($sizepicto1['mime']=='image/jpeg') || ($sizepicto1['mime']=='image/jpg') || ($sizepicto1['mime']=='image/pjpg') || ($sizepicto1['mime']=='image/pjpeg')) {
$picto1_big = imagecreatefromjpeg($redimpicto1);
$picto1_new = imagecreate($Wpicto1, $Hpicto);
$picto1_mini = imagecreatetruecolor($Wpicto1, $Hpicto);

imagecopyresized($picto1_mini,$picto1_big,0,0,0,0,$Wpicto1,$Hpicto,$sizepicto1[0],$sizepicto1[1]);
imagejpeg($picto1_mini,$imgpicto1);
}
}

 

et voici le message que j'obtiens... si ca peut aider

[code]JFIF>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222K5" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?*(mdUQI X*M>V

Hors ligne

#2 14-10-2010 17:53:58

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : probleme avec copy()

J'ai peut être mal regardé mais je ne vois aucunement où tu ouvres l'images $imgpicto1.
Donc si la variable n'existe pas c'est considéré comme null et donc imagejpeg() affiche l'image dans le navigateur (ce qui serait la cause de tout le charabia que tu obtiens).

Hors ligne

#3 14-10-2010 18:03:25

fanch75
Membre
Inscription : 14-05-2009
Messages : 47

Re : probleme avec copy()

Ah la latu as de bons yeux. Et evidemment c'est ca. Merci ! big_smile

Hors ligne

Pied de page des forums