Php 无法使用ZipArchive打开拉链
我正在运行一个类似bash的php脚本。 此脚本执行以下操作: 从FTP服务器下载zip文件 ftp\u获取$ftp、$myFile.zip、$file、ftp\u二进制文件 下载文件后,我想提取其内容:Php 无法使用ZipArchive打开拉链,php,ziparchive,Php,Ziparchive,我正在运行一个类似bash的php脚本。 此脚本执行以下操作: 从FTP服务器下载zip文件 ftp\u获取$ftp、$myFile.zip、$file、ftp\u二进制文件 下载文件后,我想提取其内容: $zip = new ZipArchive; $res = $zip->open($myFile); if ($res === TRUE) { $zip->extractTo($extractDir); $zip->cl
$zip = new ZipArchive;
$res = $zip->open($myFile);
if ($res === TRUE) {
$zip->extractTo($extractDir);
$zip->close();
} else {
dump( 'error, code:' . $res);
die;
}
但是,我得到了错误19谁是:不是一个压缩档案
如果我打开.zip,它是一个压缩的归档文件,因为我有PK密钥
有人有解决办法或想法吗
关于解决方案
我正在使用这个代码,它工作得很好
$zip = new ZipArchive;
$myfileDir = './abc.zip';
$extractDir = './';
$res = $zip->open($myfileDir);
if ($res === TRUE) {
$zip->extractTo($extractDir);
$zip->close();
echo 'Successfully extract the file';
} else {
echo ('error, code:' . $res);
die;
}
问题
我相信问题是因为zip文件,您会将zip文件夹上载到google drive,让我们在本地下载并测试它吗?这个变量$myFile对您来说是什么?您需要发送此文件的路径,而不是二进制文件。文件是否使用密码加密?$myFile是文件的路径,如D:/myFile.zip文件未加密..:在你的代码中一切看起来都很好…你能自己创建一个zip文件,然后在这段代码中尝试吗。如果您是在从sFTP下载后才运行此代码,那么在php和os创建文件时,可能会导致文件锁定。您可以尝试在代码中编写sleep10。但是,在代码中使用sleep不是一个好主意,因为它会影响性能。问题已解决。文件已损坏。。。服务器的硬盘已满,创建的.zip已损坏。谢谢你的帮助