5

我正在尝试制作一个脚本来上传某个 zip 文件,目前是“test.zip”,然后将其解压缩。我在这个网站上找到了一些关于如何解压缩的答案,但不知道如何在 FTP 服务器上解压。请全部使用 PHP。

当前代码:

$zip = new ZipArchive;
$zip->open('test.zip');
$zip->extractTo('./');
$zip->close();

再次感谢 :)

4

4 回答 4

4

在解压缩之前,您可以使用表单上传 zip(创建自己的管理区域?/localhost?)。我从上传图片的代码中复制了这个,并且只会上传 .zip 文件的 HTML 部分:

<form action='file.php' enctype='multipart/form-data' method='post'>
    <p>Please Upload a ZIP File.</p>
    <input type='file' name='file'>
    <input type='submit'/>
</form>

PHP部分:

$temp = explode(".", $_FILES["file"]["name"])[1]; //Get the extension
if($temp == "zip"){
    move_uploaded_file($_FILES["file"]["tmp_name"],"unzipme.zip") or die("Couldn't upload. Check permissions and retry.");
            //Relocate home?
    header("Location: /");
    exit();
}

您需要权限才能上传到您的目录、www-date 或类似的东西。

希望这可以帮助。

于 2013-09-21T21:22:17.497 回答
1

首先,您应该将 zip 存档上传到服务器。这是一个如何在 PHP 中进行基本 FTP 操作的示例。

http://www.php.net/manual/en/ftp.examples-basic.php

之后,您应该能够使用您在问题中描述的方法在服务器上解压缩文件。

于 2013-09-21T21:18:56.677 回答
1

您要么需要访问在要上传到的机器上执行命令或程序的权限,要么还需要上传可以通过 URL 执行的脚本的能力。如果您通过 FTP 上传到可以运行 PHP 的 Web 服务器目录,则将您的 zip 存档和 unzip.php 文件上传到那里,并在浏览器中加载 unzip.php 页面。

于 2013-09-21T21:20:29.617 回答
1

这是 FTP 中提取文件夹的代码,在代码下面创建一个新的 Php 文件副本并运行它:

$path = getcwd();

$zip = new ZipArchive;

$res = $zip->open('yourZippedFolder.zip');

if ($res === TRUE) {

  $zip->extractTo($path.'/maunil/');

  $zip->close();

  echo 'Successfully Extracted';

}

else 
{

 echo 'failed to Extract';

}
于 2015-07-14T06:18:36.760 回答