2013-03-02 233 views
1

想看看什麼樣的行動可以用PHP腳本正在通過圖片src稱爲像這樣進行內部:PHP IMG SRC

<img src="http://example.com/script.php" /> 

現在,我已經嘗試包括PHP header()函數在script.php的:

<?php 
header("Location: http://example.com"); 

我也試圖呼應的圖像URL期待IMG來顯示它,它沒有:

<?php 
echo 'http://example.com/image.png'; 

是否有任何方法可以在img src屬性中調用PHP腳本來做這種事情?

+0

發佈您嘗試過的代碼。 – 2013-03-02 15:11:53

+0

html img標籤期望源返回圖像文件。如果script.php生成一個圖像作爲原始圖像數據與適當的頭文件流,它將工作。你回來了什麼? – 2013-03-02 15:12:50

回答

0

是否有任何方法使用img src屬性中正在調用的PHP腳本來完成此類操作?

否。用作img標記的src的資源需要輸出圖像數據,沒有別的。

有一些例外,例如。一個header("location: ....")重定向,但重定向需要指向另一個有效的圖像資源,而不是您在示例中顯示的網站。

+1

如果您發回帶有正確標題的文本,一些舊版瀏覽器可能會嘗試執行javascript;圖像來源有一些歷史漏洞,但我相信它們現在都已經被封堵了。 – 2013-03-02 15:17:45

1

檢查出readfile()的方式來輸出圖像文件從script.php

readfile($file); 

手冊中瞭解更多關於在這裏:​​

http://php.net/manual/en/function.readfile.php

其中示例#1給出了一個如何設置標題的想法。

該手冊還指出:發送大文件 即使,對自己

的ReadFile()將不存在任何內存問題。

的URL可以被用作與此功能

PS文件名:這是WordPress的多站點用於打開用戶上傳的(例如圖像)文件的方式。

+0

我不需要使用正確的標題嗎?我將如何能夠將其內容返回到src屬性? – AdamGold 2013-03-02 15:25:30

+0

是的,例1給你一個想法,你可以如何構造標題。 – birgire 2013-03-02 15:26:35

1

您的script.php應該返回具有正確標題的圖像輸出。例如:

<img src="/html/img/script.php" /> 

// script.php的

$file = "tiger.jpeg"; 
$type = "image/jpeg"; 
header("Content-Type: $type"); 
header("Content-Length: " . filesize($file)); 
readfile($file); 
0

你應該記住,在src標籤應直接指向一個圖像文件。但是,可以通過使用GD庫使用PHP創建圖像,對於〔實施例:

http://php.net/manual/en/book.image.php

因此,使用:

<img src="http://example.com/script.php" /> 

是可能的,只要真正的script.php輸出一個圖像文件,例如通過使用這裏描述的例子:

http://www.php.net/manual/en/image.examples-png.php 

我以前用這種處理來覆蓋JPG上的文本經紀商網站的圖片(例如新的,出售的,出租的等)。