php - 如何将图像移动到新文件夹?

标签 php image rename crop resize-image

正如标题所说..如何将图像移动/重命名到新文件夹? 到目前为止我有这个并且新图像被调整大小/裁剪但它不会移动到“新/”文件夹:

$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 的输出是一个 bool 值,因此您的重命名总是失败。您也从未保存过调整大小的图像。您必须使用 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);

关于php - 如何将图像移动到新文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5692234/

相关文章:

javascript - 迭代显示一组图像,一次只显示一张

powershell - 使用get-content重命名文件夹?

ruby-on-rails - 如何在 Ruby on Rails 迁移中重命名数据库列?

java - Gradle 在编译前重命名包

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 管理面板的 htaccess 重写规则

php - 如何使用 gettext 翻译 MySQL 中的数据?

php - 如果没有找到记录,则返回默认值

html - <img> 大于其属性

iOS:如何为原生 iPhone 图片添加 Alpha channel