+-

我在用 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'"
警告:没有时间测试任何这些愚蠢的错误
点击查看更多相关文章
转载注明原文:php – 避免使用zip文件内容的绝对路径名 - 乐贴网