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实现验证码功能
Oct 09 PHP
PHP语法速查表
Dec 06 PHP
source.php查看源文件
Dec 09 PHP
PHP页面中文乱码分析
Oct 29 PHP
getimagesize获取图片尺寸实例
Nov 15 PHP
php文件上传简单实现方法
Jan 24 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
php通过header发送自定义数据方法
Jan 18 PHP
PHP+MySQL实现模糊查询员工信息功能示例
Jun 01 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 15 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
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
php self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
Js 刷新框架页的代码
2010/04/13 Javascript
JS trim去空格的最佳实践
2011/10/30 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
浅析Python中的for 循环
2016/06/09 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
解决python3输入的坑——input()
2020/12/05 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
店铺转让协议书
2014/12/02 职场文书
先进教师事迹材料
2014/12/16 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
pandas 实现将NaN转换为None
2021/05/14 Python