各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > PHP

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

管理员 2023-09-05
PHP
123

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的测试(纯代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

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


希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 lecms, classcms, fastadmin, pbootcms, phpcms, eyoucms, yzmcms, PHP, xunruicms, jizhicms, dedecms, wordpress, hkcms, yzncms, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部