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

Signaler
Messages postés
24
Date d'inscription
samedi 3 juin 2000
Statut
Membre
Dernière intervention
2 août 2006
-
Messages postés
24
Date d'inscription
samedi 3 juin 2000
Statut
Membre
Dernière intervention
2 août 2006
-
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
A voir également:

5 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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>
Messages postés
24
Date d'inscription
samedi 3 juin 2000
Statut
Membre
Dernière intervention
2 août 2006

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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
imagedestroy() ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

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
-----------------
Messages postés
24
Date d'inscription
samedi 3 juin 2000
Statut
Membre
Dernière intervention
2 août 2006

Je viens de tester ta méthode WhiteDwarf, mais j'ai toujours la même erreur lors de l'écriture.Zut!

Jonef