PHP执行Linux命令行小例——文件压缩,_PHP教程
程序员文章站
2022-05-01 09:10:36
...
PHP执行Linux命令行小例——文件压缩,
前几天工作中,需要将3个txt文件,打包成*.zip down到本地……
一开始,我和普通青年一样,想到用PHP内置的 ZipArchive,代码看起来应该是这样的:
/*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt*/ $zip=new ZipArchive(); $zipfile='./Exl_file/wow.zip'; if($zip->open($zipfile,ZIPARCHIVE::CREATE)===TRUE){ $zip->addFile('./Exl_file/wow_1.txt','wow_1.txt'); $zip->addFile('./Exl_file/wow_2.txt','wow_2.txt'); $zip->addFile('./Exl_file/wow_3.txt','wow_3.txt'); $zip->close(); //下载 输出文件后删除相关文件 }else{ echo "ZIP生成失败!"; }
可是纠结的是正式环境上没安装zip扩展,ZipArchive直接没法用,代码绝对比在上面装个扩展要来的快——用PHP调用Linux的命令行 ,执行压缩命令,OK,马上行动!
/*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt 全部放到 Exl_file 目录下*/ $outputs=array(); /*用php的exec执行Linux命令 括号里的字符串就是你在Linux命令窗口里敲的命令; 第二个参数是 linux执行该命令后返回的结果数组; linux执行返回的每一条结果依次存入该数组 第三个参数是结果,如果执行成功,则Linux返回结果值为0,如果执行失败,则结果值不为0 */ exec("zip ./Exl_file/wow.zip ./Exl_file/wow_1.txt ./Exl_file/wow_2.txt ./Exl_file/wow_3.txt",$outputs,$rc); if($rc!=0){ foreach ($outputs as $ko=>$vo){ echo "$vo
"; } }else{ $zipfile='./Exl_file/wow.zip'; //文件下载 输出后删除相关文件 } }
你可以把 if($rc!=0) 改成 if(1==1) 查看Linux执行命令返回的结果行,如下图:
adding: Exl_file/wow_1.txt (deflated 96%) adding: Exl_file/wow_2.txt (deflated 97%) adding: Exl_file/wow_3.txt (deflated 97%)
可以看到执行返回的信息全部输入到了 $outputs 数组中,*.zip文件生成成功。
关于PHP执行Linux命令的相关文章网上搜索有很多,推荐一篇:http://blog.csdn.net/yangjun07167/article/details/5603425
下一篇: JQuery学习总结
推荐阅读
-
PHP调用Linux的命令行执行文件压缩命令
-
PHP调用Linux的命令行执行文件压缩命令
-
php处理文件的小例子(解压缩,删除目录)_PHP教程
-
PHP执行Linux命令行小例——文件压缩,_PHP教程
-
PHP执行Linux命令实现文件压缩
-
PHP调用Linux的命令行执行文件压缩命令_PHP
-
PHP执行Linux命令实现文件压缩
-
linux - root下,使用crontab 执行php脚本,777文件夹is_writable却返回不可写,命令行运行这个脚本没问题?
-
PHP调用Linux的命令行执行文件压缩命令_php技巧
-
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法_PHP教程