Php 如何使用zip命令行设置文件的密码?

Php 如何使用zip命令行设置文件的密码?,php,passwords,zip,Php,Passwords,Zip,我正在尝试为我创建的文件设置密码。但是我现在使用的代码不起作用。谁能帮帮我吗 这是我当前的代码: public function download_package_end (){ $form = $this->getUserData(); $end = " </download>"; file_put_contents('download.xml', $end, FILE_APPEND); echo shell_exec(`zip -P p

我正在尝试为我创建的文件设置密码。但是我现在使用的代码不起作用。谁能帮帮我吗

这是我当前的代码:

public function download_package_end (){
    $form = $this->getUserData();

    $end = "
</download>";


    file_put_contents('download.xml', $end, FILE_APPEND);
    echo shell_exec(`zip -P pass test.zip download.xml`);
    $files = array(
            'download.xml',
            'script_.xml',

        );

        $zip = new ZipArchive();
        $zip_name = "test.package";
        if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE){
            $error .= "* Sorry ZIP creation failed at this time";
        }

        foreach($files as $file){
            $zip->addFile($file);
        }
        echo shell_exec(`zip -P pass test.zip $files`);
        $zip->close();


    $DAO = $this->getDAO('DAO');
    return $this->status(0,true,'select.success',$DAO->query('download_package_end',$form));

}
您将shell_exec与backticks相结合,这毫无意义。使用其中一个-它们是等效的。要么:

echo shell_exec("zip -P pass test.zip download.xml")


这其中的哪一部分与gzip有关?您在代码中没有提到任何关于gzip的内容。在gzip中没有直接的密码保护。从您的代码看,您似乎正在使用zip。你所说的不工作是什么意思?你收到任何错误消息了吗?我知道我的代码没有gzip。我展示的是我用密码保护文件的当前代码。但是我正在寻找一种用密码保护我的文件的方法我没有收到任何错误或MSG。但它不能用密码保护我的文件。我两个都试过了,但似乎都不起作用。我正在创建的文件仍然没有密码。现在至少您应该可以看到zip命令的输出。如果您没有看到任何输出,那么它可能正在工作,使文件位于某个位置。你知道这些文件将在哪里创建吗?
echo `zip -P pass test.zip download.xml`