我有一个问题。
我在网上搜索了一个解决方案,但没有一个效果很好。我试图使一个脚本,将采取文件从一个文件夹,并把它们扔到一个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();
}
}
似乎你没有在当前工作目录中包括文件,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();
}
}