我不完全确定这是编码问题,所以我将描述我的Windows环境,以防万一:系统是windows 10 Pro x64 build 1809年,我已经安装了XAMPP windows x64 7.2.18-0-VC 15。在XAMPP上,我有PHP版本7.2.18。
下面的PHP代码在Linux上尝试时执行OK (从Stackoverflow获取):
function unzip_db($filename) {
$zip = new ZipArchive;
$res = $zip->open($filename);
if($res === TRUE) {
$zip->extractTo('./');
$zip->close();
echo 'File is now uncompressed...';
} else {
echo "Can't open ".$filename;
echo $res;
}
}当我尝试在Windows下运行时,这个代码在测试上总是失败,我现在不知道该做什么:我检查了phpinfo();的输出关于ZIP: Zip启用,Zip版本: 1.15.4,Libzip版本: 1.4.0,这可能意味着我有PHP的ZIP支持,而且我做错了什么。我还找到并下载了php_zip.dll (从https://pecl.php.net/package/zip/1.15.4/windows),并在php.ini文件中添加了行extension=php_zip.dll,但是没有什么改变。我的想法用完了,我仍然不知道我是否有编码或环境配置问题,或者什么.有什么建议吗?
发布于 2019-05-20 06:39:30
我们可以关闭这个问题。我发现在压缩测试文件并将其上传到Linux后,我将它们下载回了框。正是这些文件造成了PHP的问题。奇怪的是,我仍然可以用7 7zip打开它们,但我不能用Windows内置的解拉链打开它们。即使我将这些文件上传回Linux,我仍然可以用PHP解压缩它们。ZIPlibraries、的Linux实现似乎存在差异,但这并不是出现问题的原因。因此,我必须解决在up/下载文件时会发生什么问题,但这超出了这个问题的范围。谢谢你的贡献。它帮助我理清了方向,所以我能够确定问题出在哪里。
https://stackoverflow.com/questions/56211386
复制相似问题