php如何实现原生zip的测试(纯代码)

php如何实现原生zip的测试(纯代码)

内容导读

收集整理的这篇技术教程文章主要介绍了php如何实现原生zip的测试(纯代码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2924字,纯文字阅读大概需要5分钟

内容图文

这篇文章给大家介绍的文章内容是关于php如何实现原生zip的测试(纯代码),有很好的参考价值,希望可以帮助到有需要的朋友。

//简单测试1 public function zipTest(){



$zip = new ZipArchive();







$res = $zip->open('static/download/zip/test.zip',ZipArchive::CREATE);







if ($res === TRUE) {









echo 'ok';









 $zip->addFromString('test.txt', 'file content goes here');









 //解压缩到test文件夹





//$zip->extractTo('test');





$zip->close();



} else {









echo 'failed, code:' . $res;



}

}

//处理类class FilePackUtil{

/**

 * 压缩成ZIP文件

 * @param array $file 文件数组

 * $file = array('E:/Resources/download.kekedj.com/mp3/XX/20180611/XXX/XXX.mp3', 'E:/Resources/download.kekedj.com/mp3/XX/20180611/XXX/XXX.mp3');

 * @param $name 存放名字.zip

 * @param $output 存放路径

 * @return bool|string

 */

public static function zip($file = array(), $name, $output)

{



if(empty($file)) {









return "打包文件为空";



}







if(empty($name)) {





return "请选择
输出文件名"; } if(empty($output)) { return "请选择输出目录"; } foreach ($file as $key => $value) { $file [$key] = iconv("UTF-8", "gb2312//IGNORE", $value); //中文名转换 } if (! is_dir ( $output )) { mkdir ( $output, 0777 ); } $filename = iconv("UTF-8", "gb2312//IGNORE", $output . $name); // 中文名转换 最终生成的文件名以及服务器保存的路径 if (!file_exists($filename)) { //重新生成文件 $zip = new ZipArchive (); //使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释 if ($zip->open($filename, ZIPARCHIVE::CREATE) !== TRUE) { return '无法打开文件,或者文件创建失败。请检查路径、权限以及环境变量的配置'; } foreach ($file as $val) { if (file_exists($val)) { $fileInfoArr = self::pathInfo($val); $zip->addFromString($fileInfoArr ['basename'], file_get_contents($val)); //中文使用这个 } } $zip->close(); //关闭 } if (!file_exists($filename)) { return ("无法找到文件"); //即使创建,仍有可能失败。。。。 } return true; } public static function remove($file) { if(!$file) return false; $file = iconv("UTF-8", "gb2312//IGNORE", $file); // 中文名转换 @unlink($file); exec("rm -rf " . $file); return true; } /** * 读取文件信息 * @author ZhiyuanLi < 956889120@qq.com > * @param $filePath * @return array */ private function pathInfo($filePath) { $path_parts = array(); $path_parts ['dirname'] = rtrim(substr($filePath, 0, strrpos($filePath, '/')), "/") . "/"; $path_parts ['basename'] = ltrim(substr($filePath, strrpos($filePath, '/')), "/"); $path_parts ['extension'] = substr(strrchr($filePath, '.'), 1); $path_parts ['filename'] = ltrim(substr($path_parts ['basename'], 0, strrpos($path_parts ['basename'], '.')), "/"); return $path_parts; }

相关文章推荐:

PHP实现写LOG日志的代码

php变量的命名规则以及php变量的用法(附代码)

以上就是php如何实现原生zip的测试(纯代码)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php如何实现原生zip的测试(纯代码)全部内容,希望文章能够帮你解决php如何实现原生zip的测试(纯代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com