微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 避免使用zip文件内容的绝对路径名

我在用PHP写作.我有以下代码

$folder_to_zip = "/var/www/html/zip/folder";
$zip_file_location = "/var/www/html/zip/archive.zip";
$exec = "zip -r $zip_file_location  '$folder_to_zip'";

exec($exec);

我希望将zip文件存储在/var/www/html/zip/archive.zip中,但是当我打开该zip文件时,整个服务器路径都在zip文件中.如何编写此代码以使服务器路径不在zip文件中?

运行此命令的脚本不在同一目录中.它位于/var/www/html/zipfolder.PHP

解决方法:

zip倾向于存储文件,其中包含访问它们的任何路径. Greg的评论为您提供了针对当前目录树的特定修复程序.更一般地说,你可以 – 有点粗暴 – 做这样的事情

$exec = "cd '$folder_to_zip' ; zip -r '$zip_file_location  *'"

通常你希望最后一个目录成为存储名称的一部分(它有点礼貌,所以无论是解压缩还是不将所有文件都转储到它们的主目录或其他任何内容中),你可以通过将它拆分成一个单独的变量来实现这一点.用文本处理工具,然后做类似的事情

$exec = "cd '$parent_of_folder' ; zip -r '$zip_file_location $desired_folder'"

警告:没有时间测试任何这些愚蠢的错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐