PhpSpreadsheet 库保存目录

PhpSpreadsheet library save with directory

我想将文件保存在自定义目录中

我遇到以下错误:

Fatal error: Uncaught PhpOffice\PhpSpreadsheet\Writer\Exception: Could not open C:\xampp\htdocs\test3/wp-content/uploads/next_shoppingcart\shoppingcart_report_2021-12-13 17:43:00.xlsx for writing. in C:\xampp\htdocs\test3\wp-content\plugins\next-shopping-list\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx.php:218 Stack trace

密码是:

<?php
$writer = new Xlsx($spreadsheet);

$upload_dir = wp_upload_dir();

$basedir   = $upload_dir['basedir'].'/next_shoppingcart';

if (!file_exists($basedir)) {

    mkdir($basedir, 0777, true);

}

$writer->save($basedir.DIRECTORY_SEPARATOR.$file_name);?>

您需要对时间戳进行转义。即 shoppingcart_report_2021-12-13 \17:43:00.xlsx 因为我的 os 将 space 视为分隔两个文件名。您可以回显日期,然后追加并回显时间,类似于 shoppingcart_report_2021-12-13-17-43-00.xlsx。连字符将使时间被视为同一文件的一部分。评论是正确的,你不能在本地 windows 和 linux

的文件名中包含冒号