2011-04-17 6 views
4

Comme l'indique le titre ..Comment déplacer/renommer l'image dans un nouveau dossier? J'ai ce à ce jour et la nouvelle image est redimensionnée/recadrée mais il ne bouge pas « nouveau/dossier »:Comment déplacer une image vers un nouveau dossier?

$in_filename = '4csrWqu9ngv.jpg'; 

list($width, $height) = getimagesize($in_filename); 

$offset_x = 0; 
$offset_y = 0; 

$new_height = $height - 65; 
$new_width = $width; 

$image  = imagecreatefromjpeg($in_filename); 
$new_image = imagecreatetruecolor($new_width, $new_height); 
imagecopy($new_image, $image, 0, 0, $offset_x, $offset_y, $width, $height); 

header('Content-Type: image/jpeg'); 
imagejpeg($new_image); 

$move_new = imagejpeg($new_image); 

rename($move_new, 'new/' . $move_new); 

Comme toujours toute aide est appréciée :)

Répondre

5

Vous avez eu quelques erreurs dans votre code. La sortie de imagejpeg est un booléen, donc votre renommer a toujours échoué. Vous n'avez également jamais enregistré l'image redimensionnée. Vous devez utiliser le deuxième paramètre de imagejpeg et fournir le nom de fichier approprié de la nouvelle image. Assurez-vous également que le répertoire new existe, sinon le renommage échouera.

Code fixe:

$in_filename = '4csrWqu9ngv.jpg'; 

list($width, $height) = getimagesize($in_filename); 

$offset_x = 0; 
$offset_y = 0; 

$new_height = $height - 65; 
$new_width = $width; 

$image = imagecreatefromjpeg($in_filename); 
$new_image = imagecreatetruecolor($new_width, $new_height); 
imagecopy($new_image, $image, 0, 0, $offset_x, $offset_y, $width, $height); 

/* Uncomment in case you want it also outputted 
header('Content-Type: image/jpeg'); 
imagejpeg($new_image); 
*/ 

imagejpeg($new_image, $in_filename); 

rename($in_filename, 'new/' . $in_filename); 
+0

Merci pour corriger mes erreurs, il fonctionne très bien maintenant :) – Dizzi

2

peut-être this devrait aider toi.

0

Le "nouveau" dossier existe-t-il? Sinon, vous devez d'abord le créer en utilisant mkdir.

Questions connexes