我有一些PHP代码,我正在使用它来尝试压缩文件夹。该文件夹中有两个子文件夹和几个单独的文件。
这是代码: -
<?php
$src = $_POST['srcin'];
$dst = $_POST['dstin'];
$zip = new ZipArchive;
$zip->open($dst, ZipArchive::CREATE);
if (false !== ($dir = opendir($src)))
{
while (false !== ($file = readdir($dir)))
{
if ($file != '.' && $file != '..')
{
$ans = DIRECTORY_SEPARATOR;
$zip->addFile($src.DIRECTORY_SEPARATOR.$file);
}
}
}
else
{
die('Can''t read dir');
}
$zip->close();
echo json_encode('Folder Compressed');
?>
输入值为:-
srcin = "TestFolder"dstin = "TestFolder.zip"。
正在发生的事情是我正在获得一个zip文件。但是,子文件夹将创建为文件。
我从搜索这个论坛中获得了有关如何压缩文件夹的上述代码,但我看不到有关子文件夹未正确压缩的任何提及。
任何帮助都非常感谢。
谢谢
马丁
在向目录添加文件之前,应创建一个包含addEmptyDir
的目录。
这是一个示例(见顶部评论)如何递归存档目录