我正在尝试编写一个脚本,允许照片上传系统的管理员一次下载他们所有的照片。目前我正在使用
system('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads';
压缩文件,但这似乎将所有文件的名称和位置回显到页面上。有没有办法解决这个问题?如果不是在服务器上压缩文件的最佳方式是什么。
你可以exec('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads');
改用。
您可以使用ZipArchive扩展来代替(如果允许的话)调用系统 zip,因为它使您的代码不可移植。
您还可以使用输出缓冲:
ob_start();
system('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads';
ob_end_clean();
这将阻止系统命令显示任何输出。