当使用系统压缩目录时,会显示大量输出

发布于 2024-08-10 17:16:38 字数 252 浏览 1 评论 0原文

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

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

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

I'm trying to write a script that allows an admin of a photo uploading system download all their photos at once.
Currently I am using

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

to zip the files but this seems to echo names and locations all the files onto the page.
Is there anyway to get around this? If not what is the best way to zip files on server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

花海 2024-08-17 17:16:38

您可以使用 exec('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads'); 相反。

You might use exec('zip -r '.$_SERVER['DOCUMENT_ROOT'].'/zip.zip '.$_SERVER['DOCUMENT_ROOT'].'/images/photo-uploads'); instead.

澜川若宁 2024-08-17 17:16:38

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

You can use ZipArchive extension instead (if you are allowed to) of calling system zip like that, because it makes your code non-portable.

终难遇 2024-08-17 17:16:38

您还可以使用输出缓冲:

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

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

You can also use output buffering:

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

This will stop any output from being shown from the system command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文