5

有一个文件存储在服务器中,例如尺寸为 400 X 600 像素。但是在网站的不同部分,我们需要不同维度的同一张图片。对于缩略图,我们通常需要 50 X 50 像素,如果我们选择以原始尺寸下载相同的图片,则需要更长的时间并且页面加载会变慢。如果调整该图片的大小,它的大小会减小很多(例如,从 500 KB 到 50 KB)。所以,我想要的是,在浏览器下载图片之前,服务器应该将图片调整为 PHP 脚本中要求的尺寸。

4

5 回答 5

1

您将需要 PHP 的 GD 库,然后看一下这个这个,然后链接一个 php 文件,该文件会调整大小而不是图像本身。

另请注意 neeraj 的建议,因此您可以在上传时调整其大小以获得更好的性能。

如果您的主机缺少 PHP GD(这不太可能),您应该看看这个这个

于 2012-06-18T11:14:37.047 回答
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 回答