当前位置: 首页 > 面试题库 >

用php解压缩文件

马博学
2023-03-14
问题内容

我想解压缩文件,这可以正常工作

system('unzip File.zip');

但是我需要通过URL传递文件名,而无法使其正常工作,这就是我所拥有的。

$master = $_GET["master"];
system('unzip $master.zip');

我想念什么?我知道这一定是我忽略的小而愚蠢的事情。

谢谢,


问题答案:

我只能假设您的代码来自在线某个地方的教程?在这种情况下,请尝试自己解决这个问题。另一方面,该代码实际上可以在线发布为解压缩文件的正确方法,这有点令人恐惧。

PHP具有用于处理压缩文件的内置扩展。不需要为此使用system调用ZipArchive_docs_是一种选择。

$zip = new ZipArchive;
$res = $zip->open('file.zip');
if ($res === TRUE) {
  $zip->extractTo('/myzips/extract_path/');
  $zip->close();
  echo 'woot!';
} else {
  echo 'doh!';
}

而且,正如其他人所评论的那样,$HTTP_GET_VARS自4.1版本起已弃用…
…很久以前。不要使用它。请改用$_GETsuperglobal。

最后,在接受通过$_GET变量传递给脚本的任何输入时要非常小心。

更新

根据您的评论,将zip文件提取到其所在目录中的最佳方法是确定该文件的硬路径并将其专门提取到该位置。因此,您可以执行以下操作:

// assuming file.zip is in the same directory as the executing script.
$file = 'file.zip';

// get the absolute path to $file
$path = pathinfo(realpath($file), PATHINFO_DIRNAME);

$zip = new ZipArchive;
$res = $zip->open($file);
if ($res === TRUE) {
  // extract it to the path we determined above
  $zip->extractTo($path);
  $zip->close();
  echo "WOOT! $file extracted to $path";
} else {
  echo "Doh! I couldn't open $file";
}


 类似资料:
  • 我有一个正在工作的python模块,它能够读取LZMA压缩的SWF的头,但是它需要一个名为pyLZMA的模块,而这个模块似乎不想安装在我的服务器上,并且让它在本地工作是一个巨大的麻烦,所以如果有PHP解决方案的话,我更希望有一个PHP解决方案。

  • 我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?

  • 问题内容: 我想使用Java代码将文件压缩为zip,rar和7z格式。我也想在指定位置解压缩这些文件。谁能告诉我如何在Java中使用7-zip压缩和解压缩文件? 问题答案: 我用过:sevenzipjbinding.jar sevenzipjbinding-Allplatforms.jar 我现在可以使用这些jar解压缩文件。 尝试使用此链接进行解压缩:http : //sourceforge.n

  • 常用压缩包—解压—令整理 Linux 后缀为 .war 格式的文件(一般用在部署 Tomcat 项目的时候) 命令:unzip -oq XXXXXX.war -d ROOT 如果没有 ROOT 目录会自动创建 ROOT 目录。 Linux 后缀为 .tar.gz 格式的文件-解压 命令:tar zxvf XXXXXX.tar.gz Linux 后缀为 .bz2 格式的文件-解压 命令:bzip2

  • 本文向大家介绍php使用ZipArchive函数实现文件的压缩与解压缩,包括了php使用ZipArchive函数实现文件的压缩与解压缩的使用技巧和注意事项,需要的朋友参考一下 PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法这里就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整

  • 我有一个用于PHP的Debian服务器。我有目录 /var/www我的php文件存储。 整个目录和所有文件属于ftpuser: internetuser。此目录中的每个文件都具有权限664。 现在有一个问题。还有664权限的zip存档。如果我运行php脚本来提取归档文件,那么所有提取的文件都具有644权限,并且属于www-data:internetuser。 使用权限664提取我的文件的最佳方法是