jos*_*krz 4 php passwords redhat unzip
我在这里只看到一个问题,但它没有回答我的问题.我正在运行一个典型的LAMP服务器,它具有最新的PHP 5和MYSQL 5与Redhat Linux.
我需要找到一个只有PHP的解决方案,因为我的主机不允许我使用shell.
这是我的代码,它提取未从vBulletin上传到另一个目录的ZIP:
if ($_GET['add'] == TRUE){
$zip = new ZipArchive;
$res = $zip->open($SOURCE FOLDER);
if ($res === TRUE) {
$zip->extractTo('$DESTINATION FOLDER/');
$zip->close();
echo 'File has been added to the library successfuly';
//Add a flag to that file to indicate it has already been added to the library.
mysql_query("UPDATE attachment SET library = 1 WHERE filedataid='$fileid'");
} else {
echo 'A uncompression or file error has occured';
}}
Run Code Online (Sandbox Code Playgroud)
必须有一些方法来使用PHP,当然!谢谢.
更新:我的主机通知我gzip已安装在服务器上,但不是7-Zip.我也在研究shell访问.
让7zip可执行文件可用于脚本并调用它以通过system()用密码解压缩文件.
$strCommandLine = "7z e fileToUnzip.7z -pTHEPASSWORD";
system($strCommandLine);
Run Code Online (Sandbox Code Playgroud)
unzip如果您安装了主机,则可以执行类似的操作.请参阅http://linux.about.com/od/commands/l/blcmdl1_unzip.htm.
它支持-P和密码,所以像这样:
$strCommandLine = "unzip fileToUnzip.7z -P THEPASSWORD";
system($strCommandLine);
Run Code Online (Sandbox Code Playgroud)
警告:有人可以在该命令行上看到你的密码,如果他们在系统上执行ps并看到你的unzip命令正在运行.