有一个文件存储在服务器中,例如尺寸为 400 X 600 像素。但是在网站的不同部分,我们需要不同维度的同一张图片。对于缩略图,我们通常需要 50 X 50 像素,如果我们选择以原始尺寸下载相同的图片,则需要更长的时间并且页面加载会变慢。如果调整该图片的大小,它的大小会减小很多(例如,从 500 KB 到 50 KB)。所以,我想要的是,在浏览器下载图片之前,服务器应该将图片调整为 PHP 脚本中要求的尺寸。
问问题
3817 次
5 回答
1
是的,使用PHP GD2 扩展。这是一个快速教程
于 2012-06-18T11:15:28.480 回答
1
您需要将缩略图代码中的代码放在一个新文件中,比如说 image.php,然后将此脚本用作带有图像文件名、宽度和高度参数的 img 标签的 src。
<img src="http://path-to-directory/image.php?img=abc.jpg&width=50&height=50" />
您需要将“DSC01088.jpg”更改为 echo $_GET['img']; 经过适当的验证。
于 2012-06-18T11:28:56.447 回答
0
是的当然!
Google for PHP 图片调整大小代码示例
然后创建一个下载脚本并使用参数调用它,如下所示:
http:///www.mysite.com/image.php?image=path/to/my/image.png&width=50&height=50&crop=1
该脚本将加载图像,将其调整为提供的宽度和高度,并可选择裁剪它,然后使用适当的标题回显以供下载......
有很多方法可以做到这一点......有时在 SE 询问之前使用谷歌会更好......
于 2012-06-18T11:18:39.787 回答
0
使用 GD Library 创建缩略图
首先获取文件夹中所有图像的列表
function thumb()
{
$img_dir_path='images/';
$thumb_dir_path='images/thumbs/';
$img_array=GLOB($img_dit_path.'*.{jpg,jpeg}',GLOB_BRACE);
foreach($img_array as $img)
{
list($path,$file)=explode('/', $img);
list($fileName, $extension)=explode('.',$file);
$thumb-file=$thumb_di_path . $fileName. '-thumb.jpg';
if(file_exists($thumb-file))
{
//do nothing
}
else
{
//create file using GD and set width and height proportionally
// Example $width=$orig_width * 0.1; $height =$orig_height * 0.1
}
}
}
于 2012-06-18T11:35:10.380 回答