php生成txt文件标题及内容的方法


Posted in PHP onJanuary 16, 2014
<?php 
/** 
*1.前几天一哥们工作中他们领导让他写一个上生成文件的类:生成文件,文件类型支持:txt、html、csv、pdf、doc(或者docx)。 
* 
*2.生成的内容是一张表格(像html中的table),参数为:生成文件的类型、生成内容的标题(数组),生成内容(数组,和标题相对应)。 
*/ 
/************************************************* 
* class name:createFile 
* description:create different type files 
* author:fenghuo 
* date:2013-11-12 
************************************************/ 
/** 
*3.我利用晚上的时间帮他就整理了一个生成txt的文件类. 
***/ 
class createFile{ 
public $file_type; 
public $file_name; 
public $file_dir; 
/** 
* 构造函数:初始化生成文件的目录 
*/ 
public function __construct($file_dir){ 
$this->file_dir = $file_dir; 
} 
/** 
* 生成文件的入口函数 
* @string $file_name 文件名 
* @string $file_type 文件类型 
* @array $title 生成内容的标题行 
* @array $data 生成内容 
*/ 
public function create_file($file_name,$file_type,$title,$data){ 
if(empty($data)){ 
return false; 
} 
if(!empty($title)){ 
if(count($title) != count($data[0])){ 
return false; 
} 
} 
if($file_name == ""){ 
$file_name = $this->file_name; } 
if($file_type == ""){ 
$file_type = $this->file_type; 
} 
$fun = 'mk_'.$file_type; 
# 测试点 
echo $fun,'--------------<br/>'; 
if( method_exists( $this,$fun)) 
{ 
$file = $file_name.".".$file_type; 
$this -> $fun ($file,$title,$data); 
return true; 
}else{ 
return "NO!"; 
} 
} 
/** 
*生成txt类型文件 
*@string $file 文件名 
*@array $title 标题 
*@array $data 内容 
*/ 
public function mk_txt($file,$title,$data){ 
$string = ""; 
if(!empty($title)){ 
for( $i = 0;$i < count( $title ); $i++ ){ 
$string .= ' '. mb_convert_encoding($title[$i],'GBK',"UTF-8"); 
} 
$string .="\r\n"; 
} 
foreach ( $data as $key =>$var) 
{ 
for( $i = 0; $i < count($data[$key]); $i++ ){ 
$string .= ' '. mb_convert_encoding($data[$key][$i],'GBK',"UTF-8"); 
} 
$string .="\r\n"; 
} 
# 测试点 
echo $this->file_dir.$file,'-----123---------<br/>'; 
$fp = fopen($this->file_dir.$file, "a+"); 
fwrite($fp,$string); 
fclose($fp); 
return true; 
} 

} 
//************************************** 
//测试 
$dir ='E:\dev\ '; 
$file_name = "test"; 
$file_type = "txt"; 
$title = array("name","sex","age"); 
$data[] = array("tom","boy",20); 
$data[] = array("perry","girl",20); 
$file = new createFile($dir); 
$flag = $file-> create_file($file_name,$file_type,$title,$data); 
if($flag == true){ 
echo "生成成功"; 
}else{ 
echo "生成失败"; 
} 
?>
PHP 相关文章推荐
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
克隆一个新项目的快捷方式
Apr 10 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
CI框架给视图添加动态数据
Dec 01 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php计算年龄精准到年月日
Nov 17 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
Laravel框架源码解析之入口文件原理分析
May 14 PHP
php解析非标准json、非规范json的方式实例
Dec 10 PHP
PHP数组实际占用内存大小原理解析
Dec 11 PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 #PHP
php获取淘宝分类id示例
Jan 16 #PHP
php生成数组的使用示例 php全组合算法
Jan 16 #PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 #PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 #PHP
php读取mysql的简单实例
Jan 15 #PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 #PHP
You might like
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
基于php无限分类的深入理解
2013/06/02 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
python logging类库使用例子
2014/11/22 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
Python常用扩展插件使用教程解析
2020/11/02 Python
python的dict判断key是否存在的方法
2020/12/09 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
英文简历自荐信范文
2013/12/11 职场文书
服务之星获奖感言
2014/01/21 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
高中学生评语大全
2014/04/25 职场文书
酒店员工培训方案
2014/06/02 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
MySQL七种JOIN类型小结
2021/10/24 MySQL
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
如何通过cmd 连接阿里云服务器
2022/04/18 Servers
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android