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

/**

*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,'--------------
';

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---------
';

$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 "生成失败";

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值