Bonjour à tous,

J'essaie de créer une miniature d'une image et de l'enregistrer sur le disque en utilisant imagecopyresampled() et imagejpeg()

Le problème se pose avec imagejpeg(). Impossible de créer un nouveau fichier image.
Il semble vouloir ouvrir un fichier existant pour y écrire alors que je veux créer un nouveau fichier image.

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
	//on cree une image sample a la volee
	$percent = 0.1; //pourcentage
	$nom_photo = "15.jpg"; //nom du fichier image
	$content_dir = "./photos/"; //repertoire
	list($width, $height, $type, $attr) = getimagesize($content_dir . "$nom_photo"); //on recupere la hauteur et la largeur du fichier source
 
 
	$mwidth = $percent * $width; //on calcule la nouvelle largeur en fonction du pourcentage
	$mheight = $percent * $height; //on calcule la nouvelle hauteur en fonction du pourcentage
 
 
	$mphoto = imagecreatetruecolor($mwidth, $mheight); //on cree une nouvelle image vierge en flux
	$photo = imagecreatefromjpeg($content_dir . $nom_photo); //on cree une imagea partir de l'image source en flux
 
	if( !imagecopyresampled ( $mphoto, $photo, 0, 0, 0, 0, $mwidth, $mheight, $width, $height)) error_back("Erreur dans le redimensionnement de l'image"); //on miniaturise l'image source et on la copie dans mphoto
 
	imagejpeg($mphoto, "./m" . $nom_photo); //on cree la miniature sur le disque du nom de l'image source precedé de 'm'
	imagedestroy($mphoto);
et voici mon erreur :
Warning: imagejpeg() [function.imagejpeg]: Unable to open './m15.jpg' for writing in /var/www/moteurphoto/addphoto.php on line 56

Merci pour votre aide.

Cordialement,

Marie