【发布时间】: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 从哪里开始?
你认为是这个问题还是有其他问题?
请帮帮我。
谢谢!
【问题讨论】: