如何移动图像到新文件夹


How to move image to new folder?

正如标题所说…如何移动/重命名图像到新文件夹?到目前为止,新图像被调整了大小/裁剪了但它没有移动到new/folder:

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

一如既往,任何帮助都是感激的:)

您的代码中几乎没有错误。imagejpeg的输出是一个布尔值,因此您的重命名总是失败。您也从未保存过调整大小的图像。您必须使用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);

是否存在"new"文件夹?如果没有,首先需要使用mkdir创建它。