Как переместить изображение в новую папку? - PullRequest
4 голосов
/ 17 апреля 2011

Как видно из заголовка .. Как переместить / переименовать изображение в новую папку?У меня есть это до сих пор, и новое изображение изменено / обрезано, но оно не перемещается в папку "new /":

$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);

Как всегда, любая помощь приветствуется:)

Ответы [ 3 ]

5 голосов
/ 17 апреля 2011

В вашем коде было несколько ошибок.Вывод imagejpeg является логическим значением, поэтому ваше переименование всегда не удавалось.Вы также никогда не сохраняли измененное изображение.Вы должны использовать 2-й параметр imagejpeg и указать правильное имя файла нового изображения.Также убедитесь, что каталог new существует, иначе переименовать не удастся.

Фиксированный код:

$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);
2 голосов
/ 17 апреля 2011

возможно это должно вам помочь.

0 голосов
/ 17 апреля 2011

Существует ли «новая» папка?Если нет, то сначала нужно создать его, используя mkdir.

...