2015-11-23 53 views
1

我有一個腳本來導出一些數據從SQL和格式到Excel這一切都工作正常,我試圖導出4件事情中的3件..最後一個是報告以下內容:PHPExcel致命錯誤

Warning: fopen(/home/a/public_html/private/b/c/d/e/f/Martin's-g-23-11-2015.xls): failed to open stream: No such file or directory in /home/a/public_html/b/classes/Classes/PHPExcel/Shared/OLE/PPS/Root.php on line 90 

這個精細的劑量存在,因爲這個腳本適用於其他部門只是不馬丁的罰款。它還報告如下:(?)

Fatal error: Uncaught exception 'Exception' with message 'Can't open /home/a/public_html/private/b/c/d/e/f/Martin's-g-23-11-2015.xls. It may be in use or protected.' in /home/a/public_html/b/classes/Classes/PHPExcel/Shared/OLE/PPS/Root.php:93 Stack trace: #0 /home/a/public_html/b/classes/Classes/PHPExcel/Writer/Excel5.php(233): PHPExcel_Shared_OLE_PPS_Root->save('/home/a/pu...') #1 /home/a/public_html/private/b/c/d/e/exportOther.php(66): PHPExcel_Writer_Excel5->save('/home/a/pu...') #2 {main} thrown in /home/a/public_html/b/classes/Classes/PHPExcel/Shared/OLE/PPS/Root.php on line 93 

我難倒,爲什麼這樣的錯誤,而其他一切作品,他們都跑出相同的腳本所以實際上它的報告權限錯誤是奇怪的。我以前用過htmlspecialchars的名字,所以馬丁的不應該影響它,並且很遺憾它必須以這種方式存儲,因爲它是從提供給我們的文件中捕獲的。

有沒有人知道是什麼原因導致這個錯誤?

編輯 - 打印出所有它決定拋出另一個隨機/之前馬丁的應該不應該已經全部排序現在抱歉! (感謝)

+0

你可以cckck文件權限? ''ls -lah/home/a/public_html/private/b/c/d/e/f/| grep xls'' –

+0

檢查文件的權限 – Rulisp

+2

嘗試用'\'來逃避''',我認爲php解釋錯了 – Lino

回答

0

我無法評論,但讓我不得不張貼此作爲一個答案:

你在馬丁逃離報價,並不能您避免在第一時間使用引號?

另外,下次請發佈導致此錯誤的腳本中的代碼。我們現在只能猜測。

+0

我已經做了一個字符串替換($ imprints = str_replace(「'」,「」'',$ imprints);) 要替換'for \'來轉義它,但它似乎不工作,也不幸我無法避免使用它,因爲它是從提供給我們的外部來源收集的,並被添加到我們的內部數據庫中,這需要單引號出現在那裏。 –

+0

我會手動做一個fopen,調整路徑字符串直到它工作並從那裏開始工作。 – jwebdev

+0

我們沒有任何訪問服務器(儘快移動,所以有東西..)但是,只是把它分類..打印出一切它決定拋出另一個隨機/在馬丁之前,當不應該有所有現在排序對不起! (和謝謝) –

0

問題出在你的文件名。也許你是這樣使用fopen

fopen('....Martin's...'); 

請不要在文件名中使用特殊字符。儘量避免空格,文件夾分隔符(\ /),西班牙文tildes和eñes等

+0

我已經做了一個字符串替換($ imprints = str_replace(「'」,「\'」,$ imprints);) 要替換'for \'來轉義它,但它似乎並不工作,也是不幸的,我無法避免使用它,因爲它是從我們提供給我們的外部資源收集的,並被添加到我們的內部數據庫中,這需要單引號出現在那裏。 –

+0

分享您的代碼。我們沒有任何水晶球。你的聲明或你的fopen函數是錯誤的,所以分享你的代碼片段,我們可以幫助你。否則,我們只能說純粹的猜測。 –