幾個月前,我使用PHP 5.3為客戶編寫了一個網(wǎng)站.它在我自己的LAMP網(wǎng)絡(luò)服務(wù)器上完美運(yùn)行.但是,當(dāng)他試圖將它安裝在自己的服務(wù)器上時(目前是在CentOS 5上運(yùn)行DirectAdmin的OVH服務(wù)器),他遇到了一個我無法搞清楚的問題. 該網(wǎng)站可以存儲通過表格上傳的圖像.圖像在上載時加水印并移動到Web服務(wù)器中的目錄(某些元數(shù)據(jù)存儲在數(shù)據(jù)庫中,但這與此問題無關(guān)). 為了將這些圖像顯示給用戶,使用腳本如下:
不幸的是,這總是會返回一個損壞的圖像(在Firefox中,“圖像無法顯示,因為它包含錯誤”).現(xiàn)在,經(jīng)過仔細(xì)測試,我知道: >圖像已正確上載到服務(wù)器.存儲在網(wǎng)絡(luò)服務(wù)器中的圖像數(shù)據(jù)是有效的,可以通過FTP作為常規(guī)圖像獲得.
它還會將正確的圖像數(shù)據(jù)保存到文件中.因此,數(shù)據(jù)在發(fā)送到用戶的Web瀏覽器之前立即完好無損. 然而!如果我使用text / plain標(biāo)頭而不是image / jpeg,我可以看到返回的亂碼與顯示的亂碼不同,如果我用記事本本地打開文件(或直接通過apache將圖像作為文本文件發(fā)送).在原始圖像中,我可以看到一些EXIF.在PHP生成的圖像中,然后發(fā)送到用戶的Web瀏覽器,我仍然看到JFIF魔術(shù)代碼(用于JPEG文件圖像格式),但其余的看起來不同. 我擔(dān)心我在PHP或Apache上遇到與編碼,緩沖,內(nèi)容壓縮等相關(guān)的配置相關(guān)問題.有誰知道我可以嘗試解決這個問題嗎,? 編輯: 更改了要使用的腳本:
問題保持不變,但現(xiàn)在內(nèi)容與真實(shí)圖像與PHP發(fā)送的圖像相比看起來完全相同.根據(jù)標(biāo)題,內(nèi)容編碼是gzip.有任何想法嗎,? 解決方法: 好吧,經(jīng)過一些調(diào)查后,它變成了臭名昭著的字節(jié)順序標(biāo)記簽名(當(dāng)然,還有輸出緩沖,它可以抑制錯誤). 它有用嗎?
或這個,?
下載此圖像(使用wget或在其上創(chuàng)建鏈接并使用“另存為”)并查看差異.它可能會揭示原因 是的ob在這里絕對無事可做.如果你想獲得一個文件大小 – 有一個(驚喜,!)函數(shù)
來源:http://www./content-1-201001.html
|
|