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文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
比较好用的PHP防注入漏洞过滤函数代码
Apr 11 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
php遍历删除整个目录及文件的方法
Mar 13 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
PHP CURL中传递cookie的方法步骤
May 09 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 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 彩色文字实现代码
2009/06/29 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
php实现字符串反转输出的方法
2015/03/14 PHP
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
Django组件content-type使用方法详解
2019/07/19 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
Shell如何接收变量输入
2016/08/06 面试题
闭幕式主持词
2014/04/02 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
创业计划书之面包店
2019/09/17 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记