我想在我的服務器上使用此php腳本顯示圖像。特定的Apache配置設置通過PHP顯示圖像?
$file = fopen('/Volumes/PROMISE/products/jpeg/89239-282.jpg', 'rb');
header('Content-Type: image/jpeg');
fpassthru($file);
,但我得到一個破碎的形象,這個劇本是我的索引文件的頂部,現在用於測試目的,所以我不認爲那裏有一個頭的問題,事實上它的唯一的事在我的索引文件。 ..
我使用
echo file_get_contents('/Volumes/PROMISE/products/jpeg/89239-282.jpg');
藏漢試過了,沒有任何的運氣,該文件存在於指定的路徑,它有777權限。
我最後的想法是它可能是在Apache服務器上的一些配置..?不知道是否有可以制動圖像的設置?
這是.htaccess文件設置
Options +FollowSymlinks -Multiviews
這是從httpd.conf文件
Options All -MultiViews -ExecCGI -Indexes
我檢查mime.types文件和圖像/ JPEG是活性的配置。
所以我想我的問題是:是否有一些可能性的Apache安裝程序搞亂我的圖像。
編輯:
我嘗試使用代碼PHP的人
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Set the content type header - in this case image/jpeg
header('Content-Type: image/jpeg');
// Output the image
imagejpeg($im);
// Free up memory
imagedestroy($im);
在我的本地計算機上它的工作原理,但不是我們的服務器上。它給我一個空白頁面,沒有錯誤。
如果我使用imagejpeg與第二PARAM並將其保存到桌面上,這似乎是所有罰款和完全可觀看
你看過破損的圖片,看它是否包含任何PHP錯誤信息? – 2012-03-22 16:00:50
檢查error_log。 – Cfreak 2012-03-22 16:00:51
您是否嘗試過使用Fiddler或類似的工具來實際查看客戶端收到的十六進制轉儲? – SirDarius 2012-03-22 16:01:49