PHP zip文件类错误?

时间:2012-06-14 11:12:16

标签: php class

我找到了这个很棒的课程,除了......之外我一直很好用。我像这样指定输出目录:

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

2 个答案:

答案 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);