正如标题所说..如何将图像移动/重命名为新文件夹? 到目前为止我有这个并且新图像被调整大小/裁剪但它没有移动到“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);
一如既往地感谢任何帮助:)
答案 0 :(得分:5)
您的代码中几乎没有错误。 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);
答案 1 :(得分:2)
也许this可以帮到你。
答案 2 :(得分:0)
“new”文件夹是否存在?如果没有,您需要先使用mkdir
创建它。