Jonef
Messages postés24Date d'inscriptionsamedi 3 juin 2000StatutMembreDernière intervention 2 août 2006
-
12 déc. 2005 à 15:54
Jonef
Messages postés24Date d'inscriptionsamedi 3 juin 2000StatutMembreDerniè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
Jonef
Messages postés24Date d'inscriptionsamedi 3 juin 2000StatutMembreDerniè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!
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 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
-----------------
Vous n’avez pas trouvé la réponse que vous recherchez ?