2011-09-11 52 views
0

當包括使用PHP:意外T_STRING而包括JPEG圖像

include "images/filename.jpg"; 

我收到以下錯誤

Parse error: syntax error, unexpected T_STRING in path_to_folder/images/filename.jpg on line 1 

,而這是我的本地WAMP的服務器上本地工作的一個PHP頁面的圖像文件。我的網站託管在hostmonster上 - 我猜想提供了php5。問題是否與主持人有關?

回答

3

正如其他答案所說,你正試圖執行圖像(二進制數據)作爲PHP代碼。這可能是你想要的:

header('Content-Type: image/jpeg'); 
readfile('image.jpeg'); 
+2

'readfile()'會更有效率,因爲它指示PHP以區塊形式讀取文件並將其轉儲到輸出流。 'echo file_get_contents()'會將整個圖像緩存在內存中,然後一次寫出所有圖像,如果圖像非常小,則會產生嚴重的性能影響。 – cdhowie

+0

@cdhowie事實上,他們都是低效的,如果有瓶頸,去nginx和x_accel_redirect –

+0

@cdhowie:我不知道這一點,我選擇盲目相信你,而我去閱讀它:)謝謝! – chelmertz

1

這段代碼沒有意義,我也不明白它爲什麼會在本地工作。你告訴PHP將圖像作爲PHP/HTML代碼執行,這是行不通的。

+0

我已經設置標題('Content-Type:image/jpeg'); – mridul

0

你錯過了文件路徑的引號,無論如何,在代碼中包括一個圖像是沒有意義的。我無法想象它如何在本地工作。

+0

編輯:我在帖子中添加了引號。 – mridul

+0

您需要readfile(),不包括(假設頭文件是正確的) –

0

你只是不明白你在做什麼。

include用於在您的腳本中包含PHP代碼的另一部分。

要輸出你有一個文件來使用,而不是readfile()

0

有沒有可能是你的JPEG包含序列<??包含並不意味着像這樣使用。你應該使用file_get_contents來代替:

echo file_get_contents("images/filename.jpg");