① php压缩文件夹
php没有rar压缩支持,exec调用rar,也就是用rar的命令行方式
② php压缩文件并返回压缩文件的名称
使用PHPexcel,你自己到网上搜这个插件吧,将需要的文件解压到Classes目录下,那么把这个目录放在框架thinkphp/extend/vendor/下面,我将自己项目中的部分代码给你看看 在ACTION中设置上传文件并获取文件: import('ORG.Net.UploadFile');
③ 怎样用php压缩解压rar,zip文件
要用PHP压缩解压文件,常用的方法是调用命令行去执行解压缩操作可以用exec() 、system()等函数调用shell命令linux下解压缩命令是tar [-cxtzjvfpPN] 文件与目录,tar命令可以压缩解压.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip这些类型的文件Linux下默认无法使用rar格式的,要另外安装RAR for Linux,然后使用rar和unrar命令解压缩rar格式的压缩文件
④ 如何在PHP中创建压缩的RAR文件
$filename = "./" . date ( 'YmdH' ) . ".zip"; // 最终生成的文件名(含路径)// 生成文件$zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) { exit ( '无法打开文件,或者文件创建失败' );} //$fileNameArr 就是一个存储文件路径的数组 比如 array('/a/1.jpg,/a/2.jpg….'); foreach ( $fileNameArr as $val ) { $zip->addFile ( $val, basename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下}$zip->close (); // 关闭
⑤ php ZipArchive 能否在指定目录生成压缩包
当然可以啊,亲
下面代码就是在/tmp目录下专生成属aaaa.zip文件
$zip=newZipArchive();$zip->open('/tmp/aaaa.zip',ZipArchive::CREATE);$zip->addEmptyDir('dir1');$zip->close();
⑥ 请高手指点:PHP 如何解压缩zip格式压缩的文件或压缩文件夹内的文件到指定目录
/** * PHP在线压缩/解压实例 */ date_default_timezone_set('prc'); $zip = new engine_compress_decompress(); if (isset($_POST)){ $sourcePath = ''; //默认位置 if (isset($_FILES['upfile'])) //上传文件 { $stmp = $zip->fileUpload('upfile'); $sourcePath = $stmp['sourcefile']; $upfileError = $stmp['error']; } elseif (isset($_POST['inputfile'])) //输入目录或者文件 { $sourcePath = $_POST['inputfile']; } elseif (isset($_POST['decompresssourcefiles'])) //解压缩提交 { $isDecompress = $zip->decompress($_POST['decompresssourcefiles'], $_POST['topath']); if (!empty($isDecompress['filelist'])) { $href = '<script type="text/javascript" language="javascript">window.location.href=\'#decompress\'</script>'; } } $fileList = $zip->fileArray($sourcePath); //解压缩文件列表 if (isset($_POST['compressinputfileorfolder'])) //压缩文件目录或者文件输入 { $sourcePath = $_POST['compressinputfileorfolder']; $href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>'; $compressFilelist = $zip->compressFileArray($sourcePath); //压缩文件列表 } elseif ((isset($_POST['selectcompressfilelist'])) && (isset($_POST['compresssavefilename']))) { $compressFiles = $zip->compress($_POST['selectcompressfilelist'], $_POST['compresssavefilename']); //真实检测 $isCompress = $zip->CompileZipFile($compressFiles, $zip->savePath, 'all'); if (!empty($isCompress)) { $href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>'; } }}
⑦ php 调用 winrar 压缩文件夹怎样实现
假设安装的winrar软件目录在c:\progra~1\winrar\rar.exe代码如下:echoshell_exec("c:\\progra~1\\winrar\\rar.exeararnamee:\test\*.*");
⑧ php 压缩文件夹
php将文件夹打包成zip文件,参考代码如下:
functionaddFileToZip($path,$zip){$handler=opendir($path);//打开当前文件夹由$path指定。while(($filename=readdir($handler))!==false){if($filename!="."&&$filename!=".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作if(is_dir($path."/".$filename)){//如果读取的某个对象是文件夹,则递归addFileToZip($path."/".$filename,$zip);}else{//将文件加入zip对象$zip->addFile($path."/".$filename);}}}@closedir($path);}$zip=newZipArchive();if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){addFileToZip('images/',$zip);//调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法$zip->close();//关闭处理的zip文件}
⑨ php如何压缩一个文件夹里面所有的文件到zip文件里面
//函数:文件压缩//压缩参数:需要压缩的文件或文件夹(文件可为数组),压缩后的zip文件名及存放路径,压缩类型1:文件夹2:文件,后续操作1:压缩后下载;2:存放在服务器上(默认为/@Upload下)//压缩文件夹示例:Tozip("./","../".date("d-H-i-s").".zip",1,2);//压缩文件示例:// $aaa=array("../1.txt","../2.txt");// Tozip($aaa,"../2.zip",2);FunctionTozip($Path,$ZipFile,$Typ=1,$Todo=1){//IF(!is_writeable($Path)){Exit("文件夹不可写!");}$Path=Str_iReplace("\\","/",($Path));IF(Is_Null($Path) OrEmpty($Path) Or!IsSet($Path)){ReturnFalse;}IF(Is_Null($ZipFile) OrEmpty($ZipFile) Or!IsSet($ZipFile)){ReturnFalse;}Include_once("inc/Class_Zip.php");$zip=NewPHPZip;IF(SubStr($Path,-1,1)=="/"){$Path=SubStr($Path,0,StrLen($Path)-1);}OB_end_clean();Switch($Typ){Case"1":$zip-ZipDir($Path,$ZipFile,$Todo);Break;Case"2":$zip-ZipFile($Path,
⑩ php如何实现两个文件先压缩成一个压缩包然后下载
$filename="./".date('YmdH').".zip";//最终生成的文件名(含路径)//生成文件$zip=newZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){exit('无法打开文件,或者文件创建失败');}//$fileNameArr就是一个存储文件路径的数组比如array('/a/1.jpg,/a/2.jpg….');foreach($fileNameArras$val){$zip->addFile($val,basename($val));//第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下}$zip->close();//关闭//下面是输出下载;header("Cache-Control:max-age=0");header("Content-Description:FileTransfer");header('Content-disposition:attachment;filename='.basename($filename));//文件名header("Content-Type:application/zip");//zip格式的header("Content-Transfer-Encoding:binary");//告诉浏览器,这是二进制文件header('Content-Length:'.filesize($filename));//告诉浏览器,文件大小@readfile($filename);//输出文件;
未经允许不得转载:山九号 » php压缩文件夹|php如何实现两个文件先压缩成一个压缩包然后下载