1

我正在尝试编写一个脚本,允许照片上传系统的管理员一次下载他们所有的照片。目前我正在使用

system('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads';

压缩文件,但这似乎将所有文件的名称和位置回显到页面上。有没有办法解决这个问题?如果不是在服务器上压缩文件的最佳方式是什么。

4

3 回答 3

3

你可以exec('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads');改用。

于 2009-11-09T00:44:26.507 回答
2

您可以使用ZipArchive扩展来代替(如果允许的话)调用系统 zip,因为它使您的代码不可移植。

于 2009-11-09T01:10:43.067 回答
0

您还可以使用输出缓冲:

ob_start();
system('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads';
ob_end_clean();

这将阻止系统命令显示任何输出。

于 2009-11-09T00:51:48.177 回答