以下代码调整图片网址的大小。但我想将此输出上传为图片网址:
<?php
// The file
$filename = 'http://valplibrary.files.wordpress.com/2009/01/5b585d_merry-christmas-blue-style.jpg';
$percent = 0.5; // percentage of resize
// Content type
header('Content-type: image/jpeg');
// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;
// 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);
?>
我该怎么做?
答案 0 :(得分:1)
只需使用file_get_contents()
:
<?php
// The file
$filename = 'http://valplibrary.files.wordpress.com/2009/01/5b585d_merry-christmas-blue-style.jpg';
$percent = 0.5; // percentage of resize
$time = time();
$local_file = '/tmp/'.$tile.'.jpg';
$local_resized_file = '/tmp/'.$tile.'-resized.jpg';
file_put_contents($local_file, file_get_contents($filename));
// Content type
header('Content-type: image/jpeg');
// Get new dimensions
list($width, $height) = getimagesize($local_file);
$new_width = $width * $percent;
$new_height = $height * $percent;
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($local_file);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Output
imagejpeg($image_p, $local_resized_file, 100);
echo file_get_contents($local_resized_file);
?>
答案 1 :(得分:1)
您可以通过以下方式调整图片大小:
imagejpeg($image_p, null, 100);
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )
当您离开第二个参数null
时,它会直接渲染到浏览器中。您希望将其输出保存到文件中,然后您可以使用该文件上传任何所需的文件。
答案 2 :(得分:1)
我想将此输出上传为图片网址
不太清楚。无论如何,不需要&#34;上传&#34;服务器端存在的图像。你想保存它。
您使用了file_get_contents($original_img)
。现在使用file_put_contents($filepath, $resized_img)
。要输出URL,只需回显其URL,具体取决于您保存文件的位置(或替换它)。
快速提示,在我的一个项目中,我使用类Nimrod007/PHP_image_resize快速调整图像大小,与平台无关。