
<pre><?php
//TEST1
echo $file = '新建 Microsoft Excel 工作表.xlsx';
echo PHP_EOL;
var_dump(is_file($file));
$zip = new ZipArchive();
$zip->open($file);
print_r($zip);
$zip->close();
//TEST2
echo $file = mb_convert_encoding('新建 Microsoft Excel 工作表.xlsx','gbk','utf8');
echo PHP_EOL;
var_dump(is_file($file));
$zip = new ZipArchive();
$zip->open($file);
print_r($zip);
$zip->close();在windows中,如果文件名为中文,不转编码
is_file 通不过
zip_open 能打开
转编码
is_file 通过
zip_open 打不开了
要命是这个bug出现在,PhpSpreadsheet类(PHPExcel新版本)中,$reader->load($file) 将无法读取中文文件。
国产PHPer,英文比较烂,就先在这里讨论下了,求解决方案,英文好的同学帮去PhpSpreadsheet提下Issues
最佳答案