omega2 | hermes le messager a écrit :
Tu es vraiment sûr que tu n'as pas (enfin que php) n'a pas de problèmes de droit ?? C'est quand même très bizarre... Et pourtant tu disais que tu peux faire un fopen... Tu peux montrer juste la ligne de code avec ton imagejpeg et surtout l'adresse d'écriture ?
|
Code :
- <?php
- $imgname="img.jpg";
- $destname="final.png";
- tag4($imgname,$destname);
- function tag4($imgname,$tagname,$destname)
- { $Im = imagecreatefromjpeg($imgname); /* Tentative d'ouverture */
- if ($Im) /* Vérification */
- { // génération du tag
- $TailleX=imagesx($Im);
- $TailleY=imagesy($Im);
- $ImTag=imgtagG();
- if ($ImTag) /* Vérification */
- { // on ajoute le tag dans l'image
- $TailleTagX=imagesx($ImTag);
- $TailleTagY=imagesy($ImTag);
- imagecopymerge($Im,$ImTag,0,0,0,0,$TailleTagX,$TailleTagY,100);
- imagecopymerge($Im,$ImTag,$TailleX-$TailleTagX,$TailleY-$TailleTagY,0,0,$TailleTagX,$TailleTagY,100);
- imagedestroy($ImTag);
- }else
- { echo "tag non ouvert (".$tagname." )";
- }
- $ImTag=imgtagD();
- if ($ImTag) /* Vérification */
- { // on ajoute le tag dans l'image
- $TailleTagX=imagesx($ImTag);
- $TailleTagY=imagesy($ImTag);
- imagecopymerge($Im,$ImTag,$TailleX-$TailleTagX,0,0,0,$TailleTagX,$TailleTagY,100);
- imagecopymerge($Im,$ImTag,0,$TailleY-$TailleTagY,0,0,$TailleTagX,$TailleTagY,100);
- imagedestroy($ImTag);
- }else
- { echo "tag non ouvert (".$tagname." )";
- }
- //imageinterlace($Im,1);
- imagejpeg($Im,$destname,100); //l'erreur est là
- //header("Content-type: image/jpeg" );
- //imagejpeg($Im);
- imagedestroy($Im);
- }else
- { echo "image non ouverte (".$imgname." )";
- }
- }
- function imgtagD()
- { return imgtag(1);
- }
- function imgtagG()
- { return imgtag(2);
- }
- function imgtag($pos)
- { if ($pos==1)
- { $angle=338;
- $haut=25;
- $gauche=4;
- }else
- { $angle=22;
- $haut=125;
- $gauche=12;
- }
- $ImTag = imagecreate(252, 132); /* Tentative d'ouverture */
- if ($ImTag) /* Vérification */
- { // on définit le tag en question
- $TailleTagX=imagesx($ImTag);
- $TailleTagY=imagesy($ImTag);
- $color3=imagecolorallocate($ImTag, 255, 255, 255);
- $color2=imagecolorallocate($ImTag, 255, 255, 0);
- $color=imagecolorallocate($ImTag, 0, 0, 255);
- imagecolortransparent ($ImTag,$color3);
- imagefill ($ImTag,0,0,$color3);
- imagettftext($ImTag, 35, $angle, $gauche ,$haut ,$color , "./police/wendymed.ttf",'mon texte');
- // on enléve les effets de flous
- for ($PosX=0;$PosX<$TailleTagX;$PosX++)
- { for ($PosY=0;$PosY<$TailleTagY;$PosY++)
- { if (imagecolorat ($ImTag,$PosX,$PosY)<>$color3)
- { imagesetpixel($ImTag,$PosX-$i,$PosY-$j,$color);
- }
- }
- }
- // on rajoute la bordure
- for ($PosX=0;$PosX<$TailleTagX;$PosX++)
- { for ($PosY=0;$PosY<$TailleTagY;$PosY++)
- { if (imagecolorat ($ImTag,$PosX,$PosY)==$color)
- { for ($i=1;$i<=4;$i++)
- { for ($j=1;$j<=4-$i;$j++)
- { if (imagecolorat($ImTag,$PosX-$i,$PosY-$j)==$color3)
- { imagesetpixel($ImTag,$PosX-$i,$PosY-$j,$color2);
- }
- if (imagecolorat($ImTag,$PosX+$i,$PosY-$j)==$color3)
- { imagesetpixel($ImTag,$PosX+$i,$PosY-$j,$color2);
- }
- }
- }
- for ($i=1;$i<=4;$i++)
- { for ($j=1;$j<=4-$i;$j++)
- { if (imagecolorat($ImTag,$PosX-$i,$PosY+$j)==$color3)
- { imagesetpixel($ImTag,$PosX-$i,$PosY+$j,$color2);
- }
- if (imagecolorat($ImTag,$PosX+$i,$PosY+$j)==$color3)
- { imagesetpixel($ImTag,$PosX+$i,$PosY+$j,$color2);
- }
- }
- }
- }
- }
- }
- }
- return $ImTag;
- }
- ?>
|
ligne de code en errreur :
imagejpeg($Im,$destname,100); message d'erreur :
Warning: imagejpeg() [function.imagejpeg]: gd-jpeg: JPEG library reports unrecoverable error: in /www/torrent/tehanu/tag/tag.php5 on line 34 (le numéro de ligne a changé par ce que j'ai enlever mes anciens tests du fichier que j'ai copié)
Heu, tu veux dire quoi par l'adresse d'écriture? Je la trouve où cette info?
Quand aux droit d'accés, j'ai vérifié, les différents répertoires menant à celui où le script est exécuté (et où le fichier final est donc censé être sauvegardé) sont tous en rwx pour tous (le propriétaire, son groupe et les autres) Donc, il devrait pas y avoir de probléme d'accés à ce niveau. |