Php 解压远程服务器上的文件
正如标题中提到的,我正在尝试在远程服务器中解压一个文件,这是我的功能:Php 解压远程服务器上的文件,php,ziparchive,Php,Ziparchive,正如标题中提到的,我正在尝试在远程服务器中解压一个文件,这是我的功能: private function unzip(){ $ZIP_ERROR = [ \ZipArchive::ER_EXISTS => 'File already exists.', \ZipArchive::ER_INCONS => 'Zip archive inconsistent.', \ZipArchive::E
private function unzip(){
$ZIP_ERROR = [
\ZipArchive::ER_EXISTS => 'File already exists.',
\ZipArchive::ER_INCONS => 'Zip archive inconsistent.',
\ZipArchive::ER_INVAL => 'Invalid argument.',
\ZipArchive::ER_MEMORY => 'Malloc failure.',
\ZipArchive::ER_NOENT => 'No such file.',
\ZipArchive::ER_NOZIP => 'Not a zip archive.',
\ZipArchive::ER_OPEN => "Can't open file.",
\ZipArchive::ER_READ => 'Read error.',
\ZipArchive::ER_SEEK => 'Seek error.',
];
$zip = new \ZipArchive();
$newFile = 'tmp_file.zip';
$file = "app.zip";
$url = "http://my-url.com/files/";
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
file_put_contents($newFile, file_get_contents($url.$file, false, stream_context_create($arrContextOptions)));
$open = $zip->open($newFile);
if ($open === TRUE){
$zip->extractTo($url);
$zip->close();
var_dump('success unzipping');
} else {
$msg = isset($ZIP_ERROR[$open])? $ZIP_ERROR[$open] : 'Unknown error.';
var_dump($msg);
}
}
但是我得到了这个错误:不是zip存档。
尽管它肯定是zip文件。我在这里遗漏了什么?我能给你推荐一些下载和解压ZipArchive的代码吗?谢谢,但我想做的是将文件上传到服务器上(我做了这个),然后在那里解压(我现在的问题)。嗯,我想你必须测试zip文件。也许它有一些特定的格式(也许它与Linux不兼容),我能给你推荐一些下载和解压ZipArchive的代码吗?谢谢,但我想做的是将文件上传到服务器上(我做了这个),然后在那里解压(我现在的问题)。嗯,我想你必须测试zip文件。可能它有一些特定的格式(可能与Linux不兼容)