簡體   English   中英

PHP exec() ZIP 命令不適用於特定目錄

[英]PHP exec() ZIP command not working for specific directory

我正在為我的項目創建一個加密 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

應該是一個簡單的修復,只需將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} *"); 是你想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM