Problème d'écriture avec la fonction imagejpeg()

Jonef Messages postés 24 Date d'inscription samedi 3 juin 2000 Statut Membre Dernière intervention 2 août 2006 - 12 déc. 2005 à 15:54
Jonef Messages postés 24 Date d'inscription samedi 3 juin 2000 Statut Membre Dernière intervention 2 août 2006 - 13 déc. 2005 à 09:40
Bonjour,
j'ai un problème avec la fonction imagejpeg().
Code :
$source = imagecreatefromjpeg("image.jpg");
$rotate = imagerotate($source, 90, 0);
imagejpeg($rotate,"image.jpg");

Erreur retournée:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '' for writing in...

Principe :
J'ouvre une image "image.jpg", je la retourne puis je veux écraser "image.jpg" par ma nouvelle image retournée.PHP me renvoit une erreur d'écriture. J'aimerai éviter trop d'accès aux fichiers pour ne pas surcharger le serveur, donc pas de renomage,copie de fichiers...
Comment puis-je résoudre ce problème?
Merci!
Jonef

5 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
12 déc. 2005 à 16:05
Salut,



vérifie que le chmod de ton fichier est approprié, bref au pire tu fais un chmod('fichier',0777)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Jonef Messages postés 24 Date d'inscription samedi 3 juin 2000 Statut Membre Dernière intervention 2 août 2006
12 déc. 2005 à 16:22
Non c'est pas ça, j'avais déjà regardé. Le truc s'est qu'il ouvre d'abord le fichier en lecture puis en écriture et ça coince...je le comprend. Mais comment fermer le fichier en lecture pour pouvoir écrire ensuite? Vu qu'on utilise pas fopen(), le fclose() n'a aucun effet...normal
J'attends toujours vos réponses.
Merci!

Jonef
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
12 déc. 2005 à 18:27
imagedestroy() ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
13 déc. 2005 à 01:13
J'ai mis ca sur mon site, je ne sais pas si ca peu t'aider :

<?
function redimage($img_src,$img_dest,$dst_w,$dst_h) {


// Lit les dimensions de l'image
$size = GetImageSize($img_src); $src_w $size[0]; $src_h $size[1];
// Teste les dimensions tenant dans la zone
$test_h = round(($dst_w / $src_w) * $src_h);
$test_w = round(($dst_h / $src_h) * $src_w);
// Si Height final non precise (0)
if(!$dst_h) $dst_h = $test_h;
// Sinon si Width final non precise (0)
elseif(!$dst_w) $dst_w = $test_w;
// Sinon teste quel redimensionnement tient dans la zone
elseif($test_h>$dst_h) $dst_w = $test_w;
else $dst_h = $test_h;


// Cree une image vierge aux bonnes dimensions
$dst_im = ImageCreate($dst_w,$dst_h);
// Copie dedans l'image initiale redimensionnee
$src_im = ImageCreateFromJpeg($img_src);
ImageCopyResized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
// Sauve la nouvelle image
ImageJpeg($dst_im,$img_dest);
// Detruis les tampons
ImageDestroy($dst_im);
ImageDestroy($src_im);


// Affiche le descritif de la vignette
echo "SRC='".$img_dest."' WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
?>

Le code n'est pas de moi, et je ne sais d'ailleur même plus ou je l'ai trouvé, donc je ne peu pas trop t'aider plus

Bonne chance ++


----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jonef Messages postés 24 Date d'inscription samedi 3 juin 2000 Statut Membre Dernière intervention 2 août 2006
13 déc. 2005 à 09:40
Je viens de tester ta méthode WhiteDwarf, mais j'ai toujours la même erreur lors de l'écriture.Zut!

Jonef
0
Rejoignez-nous