我找到了这个很棒的课程,除了......之外我一直很好用。我像这样指定输出目录:
$outputDir = "/backup/";
但是它没有输出zip,它会在站点根目录输出。
这是您可以查看的类的链接:)
http://www.phpclasses.org/browse/file/9525.html
我感谢任何帮助!
这是我称之为课程的整个代码:
include('scripts/zip.php');
$fileToZip = "License.txt";
$fileToZip1 = "CreateZipFileMac.inc.php";
$fileToZip2 = "CreateZipFile.inc.php";
$directoryToZip = "./"; // This will zip all the file(s) in this present working directory
$outputDir = '/backup/'; //Replace "/" with the name of the desired output directory.
$zipName = "test.zip";
$createZipFile = new CreateZipFile;
/*
// Code to Zip a single file
$createZipFile->addDirectory($outputDir);
$fileContents=file_get_contents($fileToZip);
$createZipFile->addFile($fileContents, $outputDir.$fileToZip);
*/
//Code toZip a directory and all its files/subdirectories
$createZipFile->zipDirectory($directoryToZip,$outputDir);
$fd=fopen($zipName, "wb");
fwrite($fd,$createZipFile->getZippedfile());
fclose($fd);
答案 0 :(得分:1)
我的猜测是$outDir
指的是文件系统路径,因此您需要查看文件系统根目录中的文件夹/backup
(而不是相对于域的根文件夹)。
PHP可能无法写入此处,因此可能默认为可以。
您是否尝试/var/www/path/to/you/site/backup
以确定其是否具有所需效果?
答案 1 :(得分:1)
无代码可以将输出文件保存到目录中。 使用$ outputDir,您只需定义输出文件名的一部分。
如果要保存此文件,则必须自行执行。 尝试在demo中添加这样的内容:
$fs = fopen($outputDir."/".$zipName, "wb");
fwrite($fs, $createZipFile->getZippedfile());
fclose($fs);