我正在尝试制作一个脚本来上传某个 zip 文件,目前是“test.zip”,然后将其解压缩。我在这个网站上找到了一些关于如何解压缩的答案,但不知道如何在 FTP 服务器上解压。请全部使用 PHP。
当前代码:
$zip = new ZipArchive;
$zip->open('test.zip');
$zip->extractTo('./');
$zip->close();
再次感谢 :)
在解压缩之前,您可以使用表单上传 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 或类似的东西。
希望这可以帮助。
首先,您应该将 zip 存档上传到服务器。这是一个如何在 PHP 中进行基本 FTP 操作的示例。
http://www.php.net/manual/en/ftp.examples-basic.php
之后,您应该能够使用您在问题中描述的方法在服务器上解压缩文件。
您要么需要访问在要上传到的机器上执行命令或程序的权限,要么还需要上传可以通过 URL 执行的脚本的能力。如果您通过 FTP 上传到可以运行 PHP 的 Web 服务器目录,则将您的 zip 存档和 unzip.php 文件上传到那里,并在浏览器中加载 unzip.php 页面。
这是 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';
}