我使用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);
但输出位于
Write Xls format to /var/folders/pn/lyj970q90lq20mjv39bpgx_80000gn/T/phpspreadsheet/MyFilename.xls in 0.0640 seconds
有没有其他功能可以设置我想保存文件的目录?
4条答案
按热度按时间ebdffaop1#
在路径中使用点
2cmtqfgy2#
在这一行:
变更为:
这样,$filename将只包含文件名。然后你可以插入你的路径,并让它按照你想要的方式工作,就像我对我的:
mkh04yzy3#
确保这些行被注解掉。因为这个参数会告诉服务器把Xlsx导出为可下载文件。而不是在特定的自定义位置。
最后,您可以保存文件:
$writer->save("Location/Of/YourFolder".$YourFileName);
9udxz4iz4#
来源https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#redirect-output-to-a-clients-web-browser