在thinkphp中批量生成Word并压缩打包下载
来源:互联网 发布:激战2捏脸数据迪丽热巴 编辑:程序博客网 时间:2024/06/05 08:15
首先我们要清楚流程,第一步:生成相应的目录,(判断目录是否存在,不存在就创建),第二步:循环生成word文档,第三步:压缩成zip文件并下载
然后我们再进行代码的实现:
第一:我们要写两个函数,创建文件夹和删除文件夹
//创建文件夹 的函数
function makeDir($path) {
if (empty ( $path )) {
echo "路径不能为空";
}
$dirs = array ();
$path = preg_replace ( '/(\/){2,}|{\\\}{1,}/', '/', $path );
$dirs = explode ( "/", $path );
$path = "";
foreach ( $dirs as $folder ) {
$path .= $folder . "/";
if (! is_dir ( $path )) {
mkdir ( $path, 0700 );
}
}
if (is_dir ( $path )) {
return TRUE;
} else {
return FALSE;
}
}
//删除文件夹 的函数
function rmdirs($dir) {
$dir = realpath ( $dir );
if ($dir == '' || $dir == '/' || (strlen ( $dir ) == 3 && substr ( $dir, 1 ) == '://')) {
return false;
}
if (false !== ($dh = opendir ( $dir ))) {
while ( false !== ($file = readdir ( $dh )) ) {
if ($file == '.' || $file == '..') {
continue;
}
$path = $dir . DIRECTORY_SEPARATOR . $file;
if (is_dir ( $path )) {
if (! rmdirs ( $path )) {
return false;
}
} else {
unlink ( $path );
}
}
closedir ( $dh );
rmdir ( $dir );
return true;
} else {
return false;
}
}
第二:写出相应的代码
<?php
$dir_teaname = './Public/Word/'; //要创建的文件夹名称 Word
//判断目录是否存在,存在就删除
if(is_dir($dir_teaname)){
rmdirs($dir_teaname); //删除目录
}
//创建目录
$mk = makeDir( $dir_teaname );
if( !$mk )
{
echo "创建目录失败!";
}
//循环生成word
foreach ($appraise_score as $key => $val)
{
//生成word文档
import("@.ORG.Word"); //下面会给Word类的链接地址,下载不需要积分
$savePath = $dir_teaname;
$word = new word();
$word->start();
//thinkphp中的显示页面 也可以直接用 echo "这里是要生成的内容";
$this->display();
$wordname = time().$key.'.doc'; //生成的word名称
$wordname=iconv("utf-8","gb2312",$wordname); //编码转换
$word->save($savePath.$wordname);
}
import("@.ORG.PHPZip"); //下面会给PHPZip类的链接地址,下载不需要积分
$archive = new PHPZip();
//压缩下载 不存储在指定目录 第一个参数:要压缩下载的文件夹 第二个参数:下载文件名
$this_depart = '下载以后的压缩包名称'; //在下载时候以及下载成功的压缩包名称
$archive->ZipAndDownload($dir_teaname,$this_depart);
?>
以上就是全部内容
下面是Word类和PHPZip累的下载地址:
PHPZip类,Word类
转载于:睿风网络
~~~~~~~~~
- 在thinkphp中批量生成Word并压缩打包下载
- 不保存批量生成二维码并压缩zip下载
- java 批量下载图片,批量打包文件并下载
- java 批量下载图片,批量打包文件并下载
- 在C#中在服务器上打包压缩文件,并下载
- springMvcZip下载 压缩流实现批量下载Word文档
- thinkphp上传图片并批量生成不同尺寸缩略图
- 在ASP.NET中实现压缩多个文件为.zip文件,实现批量下载功能 (转载并优化处理篇)
- 批量下载文件,打包成zip压缩包
- PHP生成word并可下载
- thinkPHP压缩文件夹下的多个文件并下载
- linux 批量 压缩 打包
- Java 批量生成二维码图片,并打包成可直接下载的zip包(spring boot)
- C# 在模态窗体生成Word文档,并直接下载!
- Matlab 在 word中插入特定内容,批量生成不同内容的文件
- 在ASP.NET中实现压缩多个文件为.zip文件,实现批量下载功能
- 批量将报表导成excel文件并打包下载
- 本地生成图片,xlsx,打包压缩,并删除本地文件夹
- 工作队列
- html5 canvas 美化游戏界面及总结
- oracle.sql
- Alfresco Community 4.0.d 安装图解
- Glusterfs之rpc模块源码分析(中)之Glusterfs的rpc模块实现(1)
- 在thinkphp中批量生成Word并压缩打包下载
- FluorineFX开源库 使用教程(service配置xml说明)
- JSP指令元素:page指令,include指令,taglib指令
- Oracle Flashback技术总结
- C语言中操作字符串的一些函数源代码
- php安全下载
- 创建多线程
- C标准中qsort()函数
- 如何在java控制台程序退出时执行特定的处理