繁体   English   中英

将php脚本放入图片标记的src中比正常速度慢多少?

[英]Is putting a php script in the src of the image tag slower than normal and by how much?

如果我将此标记放在HTML中:

<img src="http://server/imageHandler.php?image=someImage.jpg" />

代替

<img src="http://server/images/someImage.jpg" />

并使用imageHandler.php脚本读取图像文件,输出到期标头并打印图像数据,我希望它会变慢。 这是操作图像标题的可行方法,还是因为图像无处不在,所以性能损失太大。 还有其他方法可以通过我的PHP代码在图片上设置过期标头?

是的,运行任何PHP脚本比提供静态文件要慢。

相反,您可以使用Apache配置指令设置expire标头。 请参阅有关mod_expires的文档。 例如,您可以将以下指令放入Apache httpd.conf或.htaccess文件中:

# enable expirations
ExpiresActive On
# expire JPG images after a month in the client's cache
ExpiresByType image/jpg A2592000

尝试类似

header("Expires: <the date>");
http_send_file("someImage.jpg");

来自http://us3.php.net/manual/en/function.http-send-file.php http_send_file函数(如果按我认为的方式工作)将文件直接从磁盘复制到网络接口,因此它以与服务器本机相同的速度发送图像本身。 (当然,运行PHP解释器所花费的时间仍然会使整体请求比提供静态文件慢一些。)

至少有另一个答案提到,如果您正在运行Apache,设置Expires标头(或任何其他标头)的最佳方法可能是使用.htaccess文件,或者如果可以访问main则更好。服务器的配置文件,将Expires配置放在此处。 看看mod_expires

如果图像处理程序使用GD或Imagick,它将比常规img标签慢得多。

我建议将图像输出缓存到一个临时文件中,如果该文件存在,则图像处理程序仅输出原始数据,但是如果应该创建一个新文件,则将其生成一次,然后再次用于缓存。

您可以使用htaccess设置到期时间。

.htaccess缓存

那将取决于imageHandler.php执行的任务。 您可以通过以毫秒为单位打印代码中的时间来进行测量。

尝试显示来自 PHP 脚本的回显图像和 ` <img src="“…”`" tag< div><div id="text_translate"><p> 目标:</p><p> 1)我在 web 根目录之外有一个图像文件夹,其中放置了来自 web 应用程序的所有图像(每个图像路径都保存在数据库表中);</p><p> 2) 我想根据用户的请求获取该图像。</p><p> 很简单,对吧?</p><p> 我做了:</p><p> a) 创建一个 class 来读取图像(具有我记得的所有安全功能和保护措施)。 它(成功地)返回使用相应的 mime 类型编码(base64)的图像。</p><p> b) 出于演示目的,我创建了一个 index.php,它具有:</p><p> &lt;img src="agivenscript.php?img=name.jpeg"&gt;</p><p> 我在这里唯一的目标是从我的 web 应用程序中的任何其他地方调用一个脚本,该脚本输出具有相应 mime 类型的 base64 编码图像。</p><p> c) 创建了一个脚本“agivenscript.php”,它通过 GET 接收图像名称,实例化我的 class 并在一切顺利时获取 base64 编码图像。 然后它与图像相呼应。</p><p> 怎么了:</p><ul><li> 当我做 output - 使用 echo '&lt;img src="'. $output64encodedwithmimetype. '"&gt;'; - 在 agivenscript.php 中,它就像一个魅力;</li><li> 此外,如果我将 $output64encodedwithmimetype 内容直接放在 index.php 的 src 标记中,它也可以工作。</li><li> 但是,当我尝试&lt;img src="agivenscript.php?img=name.jpeg"&gt;时它不起作用。</li></ul><p> 由于 base64 编码的图像显然很好(并且具有 mime 类型),我错过了什么? 任何想法?</p><p> 预先感谢。</p></div>

[英]Trying to display an echoed image from a PHP script in and `<img src=“…”` tag

如何解析

[英]How to parse <a name and <image src= inside <li tag using php?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 服务器上的PHP脚本比WAMP本地主机上的PHP脚本慢得多 NodeJS比PHP慢得多? 用php脚本输出图像-src标签 PHP中的尾递归慢于正常递归? 尝试显示来自 PHP 脚本的回显图像和 ` <img src="“…”`" tag< div><div id="text_translate"><p> 目标:</p><p> 1)我在 web 根目录之外有一个图像文件夹,其中放置了来自 web 应用程序的所有图像(每个图像路径都保存在数据库表中);</p><p> 2) 我想根据用户的请求获取该图像。</p><p> 很简单,对吧?</p><p> 我做了:</p><p> a) 创建一个 class 来读取图像(具有我记得的所有安全功能和保护措施)。 它(成功地)返回使用相应的 mime 类型编码(base64)的图像。</p><p> b) 出于演示目的,我创建了一个 index.php,它具有:</p><p> &lt;img src="agivenscript.php?img=name.jpeg"&gt;</p><p> 我在这里唯一的目标是从我的 web 应用程序中的任何其他地方调用一个脚本,该脚本输出具有相应 mime 类型的 base64 编码图像。</p><p> c) 创建了一个脚本“agivenscript.php”,它通过 GET 接收图像名称,实例化我的 class 并在一切顺利时获取 base64 编码图像。 然后它与图像相呼应。</p><p> 怎么了:</p><ul><li> 当我做 output - 使用 echo '&lt;img src="'. $output64encodedwithmimetype. '"&gt;'; - 在 agivenscript.php 中,它就像一个魅力;</li><li> 此外,如果我将 $output64encodedwithmimetype 内容直接放在 index.php 的 src 标记中,它也可以工作。</li><li> 但是,当我尝试&lt;img src="agivenscript.php?img=name.jpeg"&gt;时它不起作用。</li></ul><p> 由于 base64 编码的图像显然很好(并且具有 mime 类型),我错过了什么? 任何想法?</p><p> 预先感谢。</p></div> Zend Framework:img src标签中的PHP脚本导致图像损坏 如何在元标记html中添加img src(使用php脚本) 如何插入 <?php echo $image;?> 在 <img src=“”> 标签 如何解析 图像未使用 img src 标签显示在 php 中
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM