簡體   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