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 相关文章推荐
PHP 时间转换Unix时间戳代码
Jan 22 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
教大家制作简单的php日历
Nov 17 PHP
分享php邮件管理器源码
Jan 06 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP Primary script unknown 解决方法总结
Aug 22 PHP
discuz论坛更换域名,详细文件修改步骤
Dec 09 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
php面向对象值单例模式
2016/05/03 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
JavaScript学习历程和心得小结
2010/08/16 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
JavaScript知识点整理
2015/12/09 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
解决element ui select下拉框不回显数据问题的解决
2019/02/20 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
js实现简单的打印表格
2020/01/15 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
你应该知道的python列表去重方法
2017/01/17 Python
Python协程的用法和例子详解
2017/09/09 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
实例讲解Python爬取网页数据
2018/07/08 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
python 实现简易的记事本
2020/11/30 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
公司董事长职责
2013/12/12 职场文书
答谢会策划方案
2014/05/12 职场文书
领导班子四风表现材料
2014/08/23 职场文书