2012-10-05 52 views
1

我寫了一個快速的PHP腳本,用於在目錄中加載圖像,但我一直髮現它經常給我「Image truncated or corrupt」錯誤錯誤控制檯,儘管圖像沒有損壞。如果我瀏覽完整路徑,我可以正常查看圖像,而且我也可以下載並正常瀏覽。我試過使用不同的瀏覽器,但有同樣的問題。PHP require()圖像偶爾會返回無效/截斷的圖像

奇怪的是,一些圖像工作正常,有些則沒有。這個問題似乎與文件大小無關。

我的代碼是相當簡單的,我一直在使用它的年齡被:

if (isset($_GET['i']) && is_numeric($_GET['i'])) { 
$path = 'D:/Images/'; 
if (is_file($path . $i . '.jpg')) { 
    header('content-type: image/jpg'); 
    require($path . $i . '.jpg'); 
} 

回答

2

你不應該使用要求,包括圖像,就好像它是PHP代碼。您應該使用readfile(),這將只需打開圖像,並直接發送到瀏覽器:

readfile($path . $i . '.jpg'); 
exit; 

另外請注意,你要readfile()之後調用exit()