我想解压缩一个文件,这样就可以了。
system('unzip File.zip');
但是我需要通过URL传入文件名,并且无法使其工作,这就是我所拥有的。
$master = $_GET["master"];
system('unzip $master.zip');
我遗漏了什么?我知道这一定是我忽略的一些小而愚蠢的事情。
谢谢,
发布于 2012-01-17 10:45:50
请不要那样做(传递GET var作为系统调用的一部分)。请改用ZipArchive。
因此,您的代码应该如下所示:
$zipArchive = new ZipArchive();
$result = $zipArchive->open($_GET["master"]);
if ($result === TRUE) {
$zipArchive ->extractTo("my_dir");
$zipArchive ->close();
// Do something else on success
} else {
// Do something on error
}
为了回答你的问题,你的错误是"something $var something quotes“应该是”something $var something quotes“(用双引号引起来)。
发布于 2018-02-14 06:41:48
使用getcwd()
在同一目录中解压
<?php
$unzip = new ZipArchive;
$out = $unzip->open('wordpress.zip');
if ($out === TRUE) {
$unzip->extractTo(getcwd());
$unzip->close();
echo 'File unzipped';
} else {
echo 'Error';
}
?>
发布于 2019-09-07 21:01:36
用于解压的简单PHP函数。请确保您的服务器上安装了zip扩展。
/**
* Unzip
* @param string $zip_file_path Eg - /tmp/my.zip
* @param string $extract_path Eg - /tmp/new_dir_name
* @return boolean
*/
function unzip(string $zip_file_path, string $extract_dir_path) {
$zip = new \ZipArchive;
$res = $zip->open($zip_file_path);
if ($res === TRUE) {
$zip->extractTo($extract_dir_path);
$zip->close();
return TRUE;
} else {
return FALSE;
}
}
https://stackoverflow.com/questions/8889025
复制相似问题