Php 从图像大小调整中分离图像标记
我目前在PHP中有一个名为img()的函数,它至少接受两个参数,例如:Php 从图像大小调整中分离图像标记,php,image-processing,imagemagick,Php,Image Processing,Imagemagick,我目前在PHP中有一个名为img()的函数,它至少接受两个参数,例如: print img("foo.jpg", 100); 这将返回如下内容: <img src='/cache/foo_XXXXX.jpg' width='100' height='76' /> 我将退回此邮件: <img src='img.php?ARGUMENTS' width='?' height='?' /> 这意味着img()函数实际上根本不处理文件,而是输出HTML,告诉浏览器从PH
print img("foo.jpg", 100);
这将返回如下内容:
<img src='/cache/foo_XXXXX.jpg' width='100' height='76' />
我将退回此邮件:
<img src='img.php?ARGUMENTS' width='?' height='?' />
这意味着img()函数实际上根本不处理文件,而是输出HTML,告诉浏览器从PHP脚本而不是服务器上的静态图像文件获取图像
现在,“参数”部分当然将包含img.php处理文件所需的所有信息,处理方式与img()处理文件的方式相同——可能是函数所有参数的序列化字符串版本
但问题是图像标记的宽度/高度值!由于处理被移到当前脚本的范围之外,所以它不知道生成的图像会有多大,对吗?我显然等不及img.php完成并返回它了。我使用imagemagick进行处理(因此第二个参数可以是100,“50%”,“您在数据库中的某个位置有所有图像的列表,对吗?您可以在生成HTML时添加宽度和高度字段,并计算缩放的宽度和高度。您还可以将缩略图的宽度和高度添加到数据库中。否,这些图像只是服务器硬盘上的文件。至少到img()在某些情况下,对文件的引用保存在数据库中,但我们讨论的是用于不同目的的大量不同数据库,都使用img()进行显示
<img src='img.php?ARGUMENTS' width='?' height='?' />