php借助linux脚本生成加密的zip并可以解密


最近有个新需要,需要对生成的文件通过sftp传至第三方服务器,想到最简便的方通就是借助linux 完成此功能,我们使用后了zip命令,但是对于windows下高版本的zip文件,unzip不是很好的支持,可借助于7za命令进行完美解压,实现代码如下


  class LinuxZip{

    /**
     *
     * @desc 执行linux zip命令
     */
    
    public function shell_zip($zip,$shell_name){
        $pwd = "1234";
        $co = "zip -qj -P $pwd  $zip  $shell_name";
         exec($co,$out);
         return $out;
    }
    
    /**
     *
     * @desc 执行linux unzip命令
     * $zipFile= "./Public/bh_xintuo.zip";
        $unzipTo = "./Public/";
        
     */
   public function shell_unzip($zipFile,$unzipTo){
          
          $pwd = "1234";
          $co = "7za -aoa -p$pwd  x $zipFile -r -o$unzipTo";
          exec($co,$out);
          return $out;
   }

}


调用方法:

 

                $zipFile= "./Public/bh_liudehua.zip";
                 $unzipTo = "./Public/";
                 $savepath = "./Public/ok.txt";
                 $arr_name = "./Public/maoyeye.zip";
                  BhSftpModel::getInstance()->shell_zip($arr_name,$savepath);
               // BhSftpModel::getInstance()->shell_unzip($zipFile,$unzipTo);


安装7za就可以很完美的解压,安装命令如下

wget http://nchc.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
tar -jxvf p7zip_9.20.1_src_all.tar.bz2
cd p7zip_9.20.1
sudo make
sudo make install







猜你喜欢

转载自blog.csdn.net/jzj_xhj/article/details/52789530