[{"data":1,"prerenderedAt":63},["ShallowReactive",2],{"article-84":3},{"code":4,"msg":5,"data":6,"count":14},200,"查询成功",{"id":7,"title":8,"keywords":9,"description":10,"category_id":11,"content":12,"body_html":13,"thumb_up":14,"clicks":15,"sort":14,"remark":16,"status":17,"is_open":17,"is_deleted":14,"is_top":14,"is_recommend":14,"create_time":18,"update_time":19,"image_id":20,"url":13,"member_id":14,"cate_name":21,"prev":22,"next":25,"tags":28,"words":34,"read_time":35,"comments":14,"cover":36,"relevant":37},84,"php项目中调用Linux命令zip和unzip","php,linux,zip,unzip","本文的主题是讲一下使用unzip命令来解压zip格式的压缩文件。当我们需要把Windows上的很多文件上传到Linux时，可以先把这些文件打包到一个zip文件中，然后再上传，再在Linux下利用unzip进行解压，这比一个一个上传好得多。",2,"#####  Linux下PHP调用Zip命令\n\n#####  exec ---执行外部程序 \n\n```php\nstring exec ( string $command [, array &$output [, int &$return_var ]] )\n```\n\n参数说明\n\n```php\n$command #要执行的shell 命令\n$output  #shell命令的输出填充此数组,每行输出填充数组中的一个元素。 请注意，如果数组中已经包含了部分元素，exec() 函数会在数组末尾追加内容。如果你不想在数组末尾进行追加，请在传入 exec() 函数之前 对数组使用 [unset()](http:\u002F\u002Fphp.net\u002Fmanual\u002Fzh\u002Ffunction.unset.php) 函数进行重置。\n$return_var 命令执行后的返回状态，命令执行成功值是0\n```\n\n```\nps: 2>&1  exec不成功，调试方案一个技巧就是使用管道命令, 使用 2>&1, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。\n```\n\n#####  system ---执行外部程序，并且显示输出 \n\n```\nstring system ( string $command [, int &$return_var ] )\n```\n\n参数说明\n\n```\n$command  #要执行的命令\n$return_var  #命令执行后的返回状态，值是0表示成功\n```\n\n#####  Linux zip 命令详解  \n\n说明： 压缩文件 \n\n语法\n\n```\nzip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b \u003C工作目录>][-ll][-n \u003C字尾字符串>][-t \u003C日期时间>][-\u003C压缩效率>][压缩文件][文件...][-i \u003C范本样式>][-x \u003C范本样式>] \n```\n\n参数说明\n\n```\n-A 调整可执行的自动解压缩文件。\n-b\u003C工作目录> 指定暂时存放文件的目录。\n-c 替每个被压缩的文件加上注释。\n-d 从压缩文件内删除指定的文件。\n-D 压缩文件内不建立目录名称。\n-f 此参数的效果和指定\"-u\"参数类似，但不仅更新既有文件，如果某些文件原本不存在于压缩文件内，使用本参数会一并将其加入压缩文件中。\n-F 尝试修复已损坏的压缩文件。\n-g 将文件压缩后附加在既有的压缩文件之后，而非另行建立新的压缩文件。\n-h 在线帮助。\n-i\u003C范本样式> 只压缩符合条件的文件。\n-j 只保存文件名称及其内容，而不存放任何目录名称。\n-J 删除压缩文件前面不必要的数据。\n-k 使用MS-DOS兼容格式的文件名称。\n-l 压缩文件时，把LF字符置换成LF+CR字符。\n-ll 压缩文件时，把LF+CR字符置换成LF字符。\n-L 显示版权信息。\n-m 将文件压缩并加入压缩文件后，删除原始文件，即把文件移到压缩文件中。\n-n\u003C字尾字符串> 不压缩具有特定字尾字符串的文件。\n-o 以压缩文件内拥有最新更改时间的文件为准，将压缩文件的更改时间设成和该文件相同。\n-q 不显示指令执行过程。\n-r 递归处理，将指定目录下的所有文件和子目录一并处理。\n-S 包含系统和隐藏文件。\n-t\u003C日期时间> 把压缩文件的日期设成指定的日期。\n-T 检查备份文件内的每个文件是否正确无误。\n-u 更换较新的文件到压缩文件内。\n-v 显示指令执行过程或显示版本信息。\n-V 保存VMS操作系统的文件属性。\n-w 在文件名称里假如版本编号，本参数仅在VMS操作系统下有效。\n-x\u003C范本样式> 压缩时排除符合条件的文件。\n-X 不保存额外的文件属性。\n-y 直接保存符号连接，而非该连接所指向的文件，本参数仅在UNIX之类的系统下有效。\n-z 替压缩文件加上注释。\n-$ 保存第一个被压缩文件所在磁盘的卷册名称。\n-\u003C压缩效率> 压缩效率是一个介于1-9的数值。\n```\n\n例子\n\n多参数使用情况\n\n```\nzip -ryu test.zip test\n```\n\n##### Linux unzip命令详解\n\n说明：解压文件\n\n语法\n\n```\nunzip [-cflptuvz][-agCjLMnoqsVX][-P \u003C密码>][.zip文件][文件][-d \u003C目 录>][-x \u003C文件>] 或 unzip [-Z]\n```\n\n参数说明\n\n```\n-c 将解压缩的结果显示到屏幕上，并对字符做适当的转换。\n-f 更新现有的文件。\n-l 显示压缩文件内所包含的文件。\n-p 与-c参数类似，会将解压缩的结果显示到屏幕上，但不会执行任何的转换。\n-t 检查压缩文件是否正确。\n-u 与-f参数类似，但是除了更新现有的文件外，也会将压缩文件中的其他文件解压缩到目录中。\n-v 执行是时显示详细的信息。\n-z 仅显示压缩文件的备注文字。\n-a 对文本文件进行必要的字符转换。\n-b 不要对文本文件进行字符转换。\n-C 压缩文件中的文件名称区分大小写。\n-j 不处理压缩文件中原有的目录路径。\n-L 将压缩文件中的全部文件名改为小写。\n-M 将输出结果送到more程序处理。\n-n 解压缩时不要覆盖原有的文件。\n-o 不必先询问用户，unzip执行后覆盖原有文件。\n-P\u003C密码> 使用zip的密码选项。\n-q 执行时不显示任何信息。\n-s 将文件名中的空白字符转换为底线字符。\n-V 保留VMS的文件版本信息。\n-X 解压缩时同时回存文件原来的UID\u002FGID。\n[.zip文件] 指定.zip压缩文件。\n[文件] 指定要处理.zip压缩文件中的哪些文件。\n-d\u003C目录> 指定文件解压缩后所要存储的目录。\n-x\u003C文件> 指定不要处理.zip压缩文件中的哪些文件。\n-Z unzip -Z等于执行zipinfo指令\n```\n\n例子\n\n```\nzip –q –r test.zip test\n```",null,0,617,"",1,"2020-05-06 19:32:33","2026-04-19 15:04:57",65,"PHP",{"id":23,"title":24},83,"Yii2将当前请求执行的sql记录到日志中",{"id":26,"title":27},85,"Linux环境PHP解压缩ZipArchive中的extractTo()方法，解压zip时文件丢失的问题",[29,31],{"id":30,"name":21},25,{"id":32,"name":33},39,"Linux",1751,4,"https:\u002F\u002Ftp.myong.top\u002Fstorage\u002Farticle\u002F20230407\u002Fda5dcd2a5c3f5ab09b50c7626eddd200.jpeg",[38,43,48,53,58],{"id":39,"title":40,"create_time":41,"description":42},93,"PHP执行Python脚本解压，压缩文件夹操作","2020-08-06 14:59:05","PHP是有解压缩类文件的，但在实际项目中，用户方使用Python脚本压缩，很容易出现中文解压乱码，导致文件内容丢失的情况，本文主要介绍PHP执行Python脚本解压缩出现的问题以及解决方法",{"id":44,"title":45,"create_time":46,"description":47},92,"PHP对图片的处理","2020-07-30 15:53:38","图片处理函数功能：缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色处理并保存历史记录的思路：当有图片有改动时自动生成一张新图片",{"id":49,"title":50,"create_time":51,"description":52},96,"PHP中字符串跟0做比较永远是true","2021-02-04 16:16:27","最近在项目中做数据对比的功能，发现一个特殊的情况，0跟任何字符串做比较永远返回true，特意了解了一下。",{"id":54,"title":55,"create_time":56,"description":57},13,"Win系统下配置PHP链接Oracle","2019-01-17 22:23:36","该文章内容主要介绍window系统下，php连接oracle的配置。",{"id":59,"title":60,"create_time":61,"description":62},103,"面向对象三大特性五大原则 + 低耦合高内聚[转载]","2021-10-31 23:18:58","面向对象的三大特性是\"封装、\"多态\"、\"继承\"，五大原则是\"单一职责原则\"、\"开放封闭原则\"、\"里氏替换原则\"、\"依赖倒置原则\"、\"接口分离原则\"。",1783431658605]