[英]Change saving directory in phpspreadsheet
我正在使用 PhpSpreadsheet 生成 XLS 文件,所有功能都運行良好,除了它將本地文件保存在臨時目錄中,我想將它們保存在特定文件夾中。
use PhpOffice\PhpSpreadsheet\IOFactory;
require __DIR__ . '/Header.php';
$spreadsheet = require __DIR__ . '/templates/MyTemplate.php';
$filename = $helper->getFilename("MyFilename", 'xls');
$writer = IOFactory::createWriter($spreadsheet, 'Xls');
$callStartTime = microtime(true);
$writer->save($filename);
$helper->logWrite($writer, $filename, $callStartTime);
但是 output 位於
Write Xls format to /var/folders/pn/lyj970q90lq20mjv39bpgx_80000gn/T/phpspreadsheet/MyFilename.xls in 0.0640 seconds
是否有其他 function 設置我想要文件的保存目錄?
在路徑中使用點
$writer->save("./templates/MyFilename.xls");
在這一行:
$filename = $helper->getFilename("MyFilename", 'xls');
改成:
$filename = basename($helper->getFilename("MyFilename", 'xls'));
這樣, $filename 將只包含文件名。 然后你可以插入你的路徑並讓它按照你的意願工作,就像我對我的那樣:
$writer->save('C:/xampp/htdocs/tmp/' . $outputFileName);
確保這些行被注釋掉。 由於此參數將告訴服務器將 Xlsx 導出為可下載文件。 不在特定的自定義位置。
// Redirect output to a client’s web browser (Xlsx)
// header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
// header('Content-Disposition: attachment;filename="'.$FileName.'"');
// header('Cache-Control: max-age=0');
// // If you're serving to IE 9, then the following may be needed
// header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
// header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
// header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
// header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
// header('Pragma: public'); // HTTP/1.0
最后你可以保存你的文件:
$writer->save("Location/Of/YourFolder".$YourFileName);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="myfile.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.