我有这个PHP脚本调整图像大小并显示结果图像:
$filename = 'my-image.jpeg';
// Content type
header('Content-Type: image/jpeg');
// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = 1200;
$new_height = ceil($height * ($new_width/$width));
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Output
imagejpeg($image_p, null, 100);
现在我要保存图像而不是显示它,保留原始图像,并将新创建的图像命名为“my-image-resized.jpeg”,如何?
答案 0 :(得分:1)
如imagejpeg
function reference中所述,函数定义为:
bool imagejpeg ( resource $image [, mixed $to [, int $quality ]] )
第二个参数(例如$to
)描述如下:
路径或开放流资源(在此函数返回后自动关闭)以保存文件。如果未设置或为NULL,则原始图像流将直接输出。
因为您已将NULL
传递给$to
参数,所以它直接流式传输,这意味着显示。为了将它保存到文件系统,你应该这样做:
imagejpeg($image_p, 'sampleImage.jpg' , 100);