2017-09-06 1 views
-1

J'ai ce code en cours d'exécution ...Enregistrer l'image sous fichier dans un dossier sur le serveur

$im = imagecreatefromstring($arr['IMAGE']->load()); 
$result = $arr['IMAGE']->load(); 

echo $result; 

exit(); 

et ce code montre l'image du navigateur. Ma question est ... comment enregistrer en tant que fichier et enregistrer sur le serveur?

J'utilise ce code et il enregistre en tant que fichier mais il n'y a pas d'image.

define('UPLOAD_DIR', 'testuploads/'); 
// $img = str_replace('data:image/png;base64,', '', $result); 
// $img = str_replace(' ', '+', $img); 
$data = imagejpeg($result); 
$file = UPLOAD_DIR . uniqid() . '.jpeg'; 
$success = file_put_contents($file, $data); 
print $success ? $file : 'Unable to save the file.'; 
+0

'$ im = imagecreatefromstring ($ arr ['IMAGE'] -> load()); 'apparaît redondant. Quel était le but de cette ligne? Vouliez-vous faire 'imagejpeg ($ im);' plus tard? Consultez également http://php.net/manual/fr/function.imagejpeg.php - il renvoie true ou false, pas de données. Vous devez spécifier la cible de sortie en tant que paramètre. RTM. – ADyson

+0

Si vous avez encore du code, modifiez la question avec. Quoi qu'il en soit, cela ne fonctionnera toujours pas à cause de ce que j'ai mentionné sur le type de retour de imagejpeg. Avez-vous lu la documentation avant d'écrire ce code? – ADyson

Répondre

1

utilisation imagejpeg ($ result, $ file) ou imagepng si elle est un .png, au lieu de file_put_contents.

(où $ result est votre img et le fichier $ votre chemin + nom de fichier)

EDIT: voir doc: http://php.net/manual/en/function.imagejpeg.php

exemple:

<?php 
// Create a blank image and add some text 
$im = imagecreatetruecolor(120, 20); 
$text_color = imagecolorallocate($im, 233, 14, 91); 
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color); 

// Save the image as 'simpletext.jpg' 
imagejpeg($im, 'simpletext.jpg'); 

?>