2013-06-13 6 views
0

Sur ma page, j'utiliser un script pour obtenir une nouvelle image:Comment enregistrer une image dans un fichier?

$targ_w = $targ_h = 150; 
    $jpeg_quality = 90; 

    $src = $_POST['image']; 
    $img_r = imagecreatefromjpeg($src); 
    $dst_r = ImageCreateTrueColor($targ_w, $targ_h); 

    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], 
    $targ_w,$targ_h,$_POST['w'],$_POST['h']); 

    header('Content-type: image/jpeg'); 
    imagejpeg($dst_r,null,$jpeg_quality); 

Actuellement, le script reçoit $ _POST données, extrait d'une image de celui-ci, puis affiche cette image à l'utilisateur.

Maintenant, je voudrais ajouter une logique pour enregistrer l'image dans un fichier, mais je ne sais pas comment s'y prendre. Toutes les astuces seront appréciées.

+0

passe un nom de fichier dans le deuxième paramètre de imagejpeg. – Orangepill

Répondre

4

Vous devez:

imagejpeg($dst_r, "filename", $jpeg_quality); 

Vérifiez le manuel de imagejpeg().

bool imagejpeg (resource $image [, string $filename [, int $quality ]]) 

filename

Le chemin pour enregistrer le fichier. S'il n'est pas défini ou NULL, le flux d'images brutes sera généré directement.

Pour ignorer cet argument afin de fournir le paramètre de qualité, utilisez NULL.

0

Il suffit de spécifier l'emplacement plutôt que NULL

imagejpeg($strImage, <NEW LOCATION>, 100); 
0

imagejpeg($dst_r,'/path/to/file/new.jpg',$jpeg_quality);

Questions connexes