這是奇怪。PHP讀取文件返回零長度文件
我有一個腳本通過瀏覽器向用戶發送本地zip文件。該腳本目前工作良好,沒有任何問題。今天,我的同事通知我有關腳本正在發送零長度文件。
一些背景資料:
- 服務器設置的腳本錯在哪裏之前沒有被修改
- 不同的瀏覽器測試(同樣在Chrome/Firefox瀏覽器)
- 上一個zip文件(這之前工作得很好)是零長度也
- 腳本開創服務器
- 文件大小(呼應調試時)上的文件是正確的
- 試圖調整服務器設置和腳本adviced here沒有成功。
更新:
is_readable()
返回1個- 文件大小可以爲5Mb和100Mb的(非特定的)之間變化
$zip_file
保持的文件路徑$zip_name
保持拉鍊名- 文件實際上是零長度(在text-edi中打開TOR它不包含一個單字節)
error_reporting
是On
(E_ALL
)顯示什麼- 沒有報頭中的瀏覽器顯示的zip '源' 正確
- Safari的說:「0字節的?不能解碼原始數據'第一個有用的症狀
片段的問號(?):
if (file_exists($zip_file)) {
header('Content-type: application/zip');
header('Content-disposition: filename="' . $zip_name . '"');
header("Content-length: " . filesize($zip_file));
readfile($zip_file);
exit();
}
我怎麼能輕鬆地調試這個?
由於提前,FABRIK
愚蠢的問題:是否該文件存在 – 2011-03-21 08:08:13
您可能需要使用'is_readable()',而不是'file_exists()'is_readable檢查文件是否存在,是否可讀 – JohnP 2011-03-21 08:09:50
他們是零長度,或?。非常小的長度?在後一種情況下,它們可能包含一個PHP錯誤消息。只需獲取文件並用文本編輯器打開它 – Unicron 2011-03-21 08:09:56