我有一個查找在MySQL數據庫中的文件,發出一些頭,名字的文件的東西可讀的,然後腳本提供了它的用戶。PHP ReadFile的()無效拉鍊
這是工作半年左右(爲成千上萬的用戶),直到大約6小時前。 現在,Windows 7用戶現在得到一個錯誤,指出「Windows無法打開文件夾。壓縮(壓縮)文件夾:'... filename.zip'無效。」無論瀏覽器用於下載,都會發生這種情況Linux用戶等可以很好地打開交付的文件,Win7用戶也可以,比如WinRAR。只有Windows資源管理器無法打開它們。
這裏是它變得非常奇怪的地方...如果我製作了我的腳本的新副本,並刪除各種包括查找文件並決定如何命名它,它會下載並打開就好.. 。來自兩個腳本的結果文件大小相同,結果名稱相同。 [將新名稱硬編碼到原始腳本中並沒有幫助。我覺得這可能是一個編碼問題的名稱。]我已經嘗試過用不同的方法在不同的機器上創建不同內容的zip文件。
腳本檢查headers_sent(),file_exists(),和is_readable()。
apache_setenv('no-gzip', '1');
加入以下唯一的半相關的信息,我可以在這裏找到或在互聯網上的其他地方的腳本(無效果)。
顯然,一些在包括以某種方式打破的東西,但我沒有任何想法要尋找什麼...想法? (包含大約300行代碼......基本上,它是數據庫訪問的抽象類,文件的所有類的具體版本以及它們的所有cms信息,該站點的相關圖像等)。
在一時興起,我在readfile($file);
之前加上了「ob_clean();
......它修正了它。所以我現在的問題是:爲什麼?所有文件中的錯誤報告都是關閉的。還有什麼可以發送輸出但不是頭文件?而爲什麼「突然」在behaivor
您在一個包含的文件中有一些輸出。甚至可能是換行符或空格。 – Timur 2012-03-19 07:17:13