【问题标题】:PHP exec ZIP with passwordPHP exec ZIP 带密码
【发布时间】:2011-06-09 23:12:45
【问题描述】:

好吧,伙计们,我从昨天开始就在努力,这让我发疯了。

我正在创建一种即时上传和压缩文件的方法,但此 zip 文件也应受密码保护(不幸的是,客户要求)。

现在一切都很好,直到密码保护根本不起作用。

我知道 exec 很不安全,但相信我,我现在只想找到解决方案。

这是代码

if(isset($_FILES['fileSound']['name']) && isset($_FILES['fileLyric']['name'])) {
$nameFileSound = $_FILES['fileSound']['name'];
$tmpNameSound = $_FILES['fileSound']['tmp_name'];
$nameFileLyric = $_FILES['fileLyric']['name'];
$tmpNameLyric = $_FILES['fileLyric']['tmp_name'];
$download_folder = './CopyrightFiles/';
$zip = new ZipArchive();
$fileconpress = $download_folder .  $RefNum . ".zip";

$conpress = $zip->open($fileconpress, ZIPARCHIVE::CREATE);
if ($conpress === true)
{

    $zip->addFile($tmpNameSound, $nameFileSound);
    $zip->addFile($tmpNameLyric, $nameFileLyric);
    $zip->close(); 
    echo $fileconpress."<br/>";
    echo "yess !! Success!!!! ";
}
else echo " Oh No! Error";
}

exec("zip -r ".$download_folder.$RefNum.".zip -P password ".$download_folder.$RefNum."-protected.zip");

现在$RefNum 是这样的字符串 1333-COP-3899827399283。

我检查了命令 exec 是否在服务器上启动,是的。

没有错误出现。

我做错了什么?

也许是路径?

我应该为 exec 命令使用什么路径?

例如 $zip 选项从 public_html 开始

exec 从哪里开始?

你认为是这个问题还是有其他问题?

请帮帮我。

谢谢!

【问题讨论】:

    标签: php exec


    【解决方案1】:

    一方面,您需要更改参数顺序:

    exec("zip -P password $download_folder$RefNum-protected.zip $Orig.zip");
    

    顺便说一句,普通的 Unix zip 命令似乎无法更新 zip 文件。您将在此处将原始 zip 文件重新打包为另一个受密码保护的 zip 文件。

    如果失败,请查看error.log 以获取线索。或者在命令后面加上2&gt;&amp;1后使用print exec(...)查看所有错误信息。

    【讨论】:

    • Scusami Mario ma devo fare qualcos altro per farlo funzionare? Io sto impazzendo..giuro!
    • Non mi parlano quella lingua.
    • 抱歉,您的名字通常是意大利人,并且您来自欧洲,如您的帐户中所述。再次抱歉。它仍然不起作用。它让我发疯。你能告诉我应该用于 exec 命令的路径吗?如果我回显 exec("ls");它显示 xmlrpc
    • 通常不需要路径。但是exec("which zip") 可以澄清这一点。其他尝试print exec("/usr/bin/zip -h2 2&gt;&amp;1");
    • sh: /usr/bin/zip: No such file or directory 这就是答案。这是什么意思?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 2014-12-07
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多