PhpSpreadsheet Fatal Error "Could not find zip member"

Viewed 238

Hi am using PhpSpreadsheet, and here is my code:

switch ($file_extension) {
      case 'xlsx':
        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
        break;
      case 'xls':
        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
        break;
      default:
        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
        break;
  }
  $spreadsheet = $reader->load($_FILES['file']['tmp_name']);

Now I am uploading excelsheet using Ajax, from two source -

  1. From Local Device: var fileName = $(this).find('input[type=file]').prop('files')[0]; //with tmp_name = C:\xampp\tmp\php742D.tmp
  2. From Google Drive: var fileName = new File([res.body], doc.name, { type: doc.mimeType }) //with tmp_name = C:\xampp\tmp\php1F2A.tmp

So, when my php code executing $spreadsheet = $reader->load($_FILES['file']['tmp_name']) this line giving fatal error:


Fatal error: Uncaught PhpOffice\PhpSpreadsheet\Reader\Exception: Could not find zip member zip://C:\xampp\tmp\php2854.tmp#_rels/.rels in C:\xampp\htdocs\myWebapp\GET-OCR\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Shared\File.php:159 Stack trace: #0 C:\xampp\htdocs\myWebapp\GET-OCR\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Xlsx.php(393): PhpOffice\PhpSpreadsheet\Shared\File::assertFile('C:\xampp\tmp\ph...', '_rels/.rels') #1 C:\xampp\htdocs\myWebapp\GET-OCR\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\BaseReader.php(166): PhpOffice\PhpSpreadsheet\Reader\Xlsx->loadSpreadsheetFromFile('C:\xampp\tmp\ph...') #2 C:\xampp\htdocs\myWebapp\GET-OCR\controller\ajax-req.php(81): PhpOffice\PhpSpreadsheet\Reader\BaseReader->load('C:\xampp\tmp\ph...') #3 {main} thrown in C:\xampp\htdocs\myWebapp\GET-OCR\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Shared\File.php on line 159

I checked https://stackoverflow.com/a/50476471/3340665 & PhpSpreadsheet: Permissions | ZipArchive::close(): Failure to create temporary file But no help.

0 Answers
Related