2011-09-02 34 views
1

我正在將來自archive.org的公共領域書籍導入到我的網站,並設置了一個php導入腳本來執行此操作。但是,當我嘗試導入圖像並運行時,它有時會返回$ status狀態1.這是好嗎?到目前爲止,我對導入的圖像沒有任何問題。我查了一下man page來解壓縮,但是沒有告訴我很多。這可能會導致問題,我是否必須單獨檢查每張照片,還是我安全?將一組圖像解壓縮時出錯

回答

0

編輯:糟糕。我應該馬上查看手冊頁。他們告訴我們什麼錯誤代碼的意思是:

退出狀態(或錯誤級別)近似於PKWARE定義的退出代碼,並採取下列值,除了VMS下:

  1. 正常;沒有檢測到錯誤或警告。

  2. 遇到了一個或多個警告錯誤,但無論如何處理都已成功完成。這包括zipfiles,其中一個或多個文件由於不受支持的壓縮方法或使用未知密碼加密而被跳過。

  3. 檢測到zipfile格式的通用錯誤。無論如何,處理可能已經成功完成;其他歸檔人員創建的一些破損的zip文件具有簡單的變通辦法。

  4. 檢測到zipfile格式的嚴重錯誤。處理可能立即失敗。

(更多)

所以,顯然有些檔案可能已經在他們的文件跳過,但拉鍊沒有打破;它只是盡其所能。


它確實應該工作,但某些文件名有複雜性。他們中的任何一個可能會有不尋常的人物角色? escapeshellarg肯定是要看的東西。如果你的退貨狀態不好,你應該擔心,因爲這意味着zip退出時出現了一些錯誤或其他錯誤。至少,我建議你在這種情況下記錄文件名(error_log($filename))並查看是否有任何可能導致問題的情況。 zip本身完全獨立於PHP運行,如果shell通過正確的參數並且文件真的被下載並準備解壓縮,它會做的很好。

+0

正如你所建議的,我已經使用escapeshellarg逃過了文件(我可能應該提到這一點)。我已經確認這些文件是正確的,並且正確解壓縮,但只是想知道1的返回狀態可能意味着什麼(以及它是否是一個重大問題)。 –

+0

哦!真是愚蠢的我。我認爲1只是一個普通的失敗代碼;許多應用程序都以特定錯誤代碼的較高數字開始。哎呀。在答案中粘貼了手冊頁的相關部分。您是否確認了zip內的每個文件都已正確提取,而不僅僅是一些文件?無論如何,那些無法脫身的人對你來說可能並不重要。 –