【问题标题】:PHP exec() ZIP command not working for specific directoryPHP exec()ZIP命令不适用于特定目录
【发布时间】:2021-02-05 05:49:16
【问题描述】:

我正在为我的项目创建一个加密 ZIP 备份。我正在使用exec() command 在 PHP 中使用加密来存档文件和文件夹,但问题是 - 文件和文件夹是根目录中的存档,但我想要一个特定的文件夹来存档。

我也尝试多次更改目录,但它也是从 cpanel 中的home3 开始的。

在代码下方,我用于存档 -

$path = realpath('./../../'); //CORRECT DIR
$password = "test";
$zipFileName = "backup.zip";
exec ("zip -r -P {$password} {$zipFileName} {$path}");

OUTPUT Archive directory : home3\USERNAME\public_html\DOMAIN\FOLDER 
I want it to achieve only \FOLDER DIR

【问题讨论】:

    标签: php zip compression exec


    【解决方案1】:

    只需将cd $path && 添加到exec 命令的开头即可轻松解决:

    exec("cd $path && zip -r -P {$password} {$zipFileName} {$path}");

    编辑:

    请注意,生成的 zip 文件现在位于指定的 $path 目录中。 因此,您可能还希望通过在 {$zipFileName} 前面添加所需位置来将文件移动到特定文件夹:

    编辑 2:

    我认为exec("cd $path && zip -r -P {$password} /wanted/location/{$zipFileName} *"); 是你想要的。

    【讨论】:

    • @Satyam 对不起,这是我的错。我已经编辑了我的答案。
    猜你喜欢
    • 2011-03-28
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多