我有问题。
我在网上寻找解决方案,但没有什么效果好。我试图创建一个脚本,从文件夹中取出文件并将它们放入zip存档中。 但它没有用......
我尝试了不同的路径,但只有我混淆了,没有任何结果。
以下是根据我最简单的当前代码并且应该工作但是没有这样做..
你能帮助我吗?
function archivebackup(){
$zip = new ZipArchive;
if ($zip->open('Mail.zip', ZipArchive::CREATE) === TRUE){
foreach (new DirectoryIterator('Mails/') as $fileInfo) {
$fileName = $fileInfo->getFilename();
// echo $fileName ."<br>";
$zip->addFile($fileName);
}
$zip->close();
}
}
答案 0 :(得分:1)
您似乎没有在当前工作目录中包含文件,getFilename()
只返回没有路径的文件名。
执行以下操作:
function archivebackup(){
$zip = new ZipArchive;
if ($zip->open('Mail.zip', ZipArchive::CREATE) === TRUE){
foreach (new DirectoryIterator('Mails/') as $fileInfo) {
if (in_array($fileInfo->getFilename(), [ ".", ".." ]) { continue; }
$fileName = $fileInfo->getPathname();
$zip->addFile($fileName);
}
$zip->close();
}
}