0

我发现了这个很棒的课程,除了...我指定了输出目录,一切都很好,如下所示:

$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);
4

2 回答 2

1

我的猜测是$outDir指的是文件系统路径,因此您正在查找文件/backup系统根目录中的文件夹(而不是相对于您的域的根文件夹)。

PHP 可能无法在此处写入,因此可能默认为它可以写入的位置。

你有没有试过/var/www/path/to/you/site/backup看看是否有预期的效果?

于 2012-06-14T11:19:37.380 回答
1

没有可以将输出文件保存到目录的代码。使用 $outputDir,您只需定义输出文件名的一部分。

如果你想保存这个文件,你必须自己做。尝试在演示中添加类似这样的内容:

$fs = fopen($outputDir."/".$zipName, "wb");
fwrite($fs, $createZipFile->getZippedfile()); 
fclose($fs);
于 2012-06-14T11:51:36.350 回答