繁体   English   中英

PHPSpreadSheet:无法访问网站

[英]PHPSpreadSheet : Site can't be reach

尝试使用 CodeIgniter 3 中的 PhpSpreadSheet 导出 xlsx 文件。当我运行 url 时,它显示无法访问此站点。 Web 可能暂时关闭,或者它可能已永久移动到新的 web 地址。

Controller

require 'vendor/autoload.php';
                
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

function generateLR(){
                    // create file name
  header('Content-Type: application/vnd.ms-excel');
  header('Content-Disposition: attachment;filename="result.xlsx');
  header('Cache-Control: max-age=0');
  $spreadsheet = new Spreadsheet();
  $sheet = $spreadsheet->getActiveSheet();
  $sheet->setCellValue('A1', 'Hello World !');
  $writer = new Xlsx($spreadsheet); 
  $writer->save('php://output');
}

但是如果我尝试在本地保存$writer->save('hello world.xlsx'); . output 成功保存在项目文件夹中。

也尝试使用 IOFactory 但结果是一样的: web is temporary down

require 'vendor/autoload.php';
                
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;

function generateLR(){
                    // create file name
  header('Content-Type: application/vnd.ms-excel');
  header('Content-Disposition: attachment;filename="result.xlsx');
  header('Cache-Control: max-age=0');
  $spreadsheet = new Spreadsheet();
  $sheet = $spreadsheet->getActiveSheet();
  $sheet->setCellValue('A1', 'Hello World !');
  $writer = IOFactory::createWriter($spreadsheet,'Xlsx');
  $writer->save('php://output');
}

错误图片在此处输入图像描述 有任何环境问题吗?

找到了答案。 问题是sys_get_temp_dir()的权限。 默认情况下,我的临时文件夹在 Macbook 中是不可访问的。 更改权限后。 Excel 可以在 localhost 中创建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM