希望对此有所帮助。我一直在尝试编写一个PHP脚本解压缩一个使用PHP内置的Zip Archive扩展创建的zip文件。
拉链过程非常简单,但现在我试图将其解压缩到一个特定的文件夹,但它似乎并没有起作用。它唯一能做的就是创建我要求它提取的文件夹。该文件夹中没有文件。
我没有错误消息。
先谢谢。这是我的代码:
<?php
$root = str_replace('public_html', '', $_SERVER["DOCUMENT_ROOT"]);
$path = $root.'scripts.zip';
$zip = new ZipArchive;
$zipped = $zip->open($path, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
$folder = $root.'public_html/scripts/';
if ($zipped) {
$extract = $zip->extractTo($folder);
if ($extract){
echo 'Zip File Extracted';
}
$zip->close();
}
?>
答案 0 :(得分:0)
我会将您的代码修改为如下所示
你正在做的是创建一个新的zip文件,而不是提取旧的。 ZIPARCHIVE::CREATE
指示代码创建zip,ZIPARCHIVE::OVERWRITE
告诉它覆盖zip中的现有文件。
所以你没有从拉链中提取任何东西。以下代码应该可以使用
<?php
$root = str_replace('public_html', '', $_SERVER["DOCUMENT_ROOT"]);
$path = $root.'scripts.zip';
$zip = new ZipArchive;
$zipped = $zip->open($path); /*I have removed the ::CREATE & ::OVERWRITE methods*/
$folder = $root.'public_html/scripts/';
if ($zipped) {
$extract = $zip->extractTo($folder);
if ($extract){
echo 'Zip File Extracted';
}
$zip->close();
}
?>
希望有所帮助