2015-11-02 58 views
1

我想用Google App Engine上的PhpExcel解析XLSX文件。當我運行腳本時,它給了我這個錯誤:無效的或未初始化的Zip對象。我已閱讀其他問題,但他們似乎沒有幫助(PHPExcel Google App Engine not saving file for Excel2007),(Using phpExcel to download xlsx file using Google App Engine),(Google App Engine trowing error for PHPExcel)。我試圖將文件寫入臨時文件夾(sys_get_temp_dir()),但是當我從那裏讀取時,它給了我同樣的錯誤。谷歌App Engine上的PhpExcel錯誤:無效或未初始化的Zip對象

 $inputFileName = $this->Anexos_model->get_path($id_anexo); 

    $temp = tempnam(sys_get_temp_dir(), 'TMP_'); 
    file_put_contents($temp, file_get_contents($inputFileName)); 

    var_dump($temp); 

    $objReader = PHPExcel_IOFactory::createReader($inputFileType); 
    $objReader->setReadDataOnly(true); 
    $objPHPExcel = $objReader->load($temp); 

它給了我這樣的:

一個PHP錯誤遇到

嚴重性:警告

消息:ZipArchive :: getFromName():無效的或者未初始化的對象郵編

文件名:Reader/Excel2007.php

+0

請分享您正在使用的代碼的一個最簡單的例子。這樣,堆棧溢出的用戶可以幫忙... – Jaap

+0

我貼了一個例子來說明我正在嘗試做什麼。 – Renato

回答

1

有喲你檢查zlib是否在你的PHP環境中處於活動狀態?如果XLSX太大,請檢查您的memory_limit。

+0

是的,它在Google App Engine環境中默認處於活動狀態。 – Renato

+0

我認爲應用程序引擎忽略了內存限制。它使用我的實例內存來處理數據。不管怎麼說,還是要謝謝你。 – Renato