首页 > 编程 > PHP > 正文

PHP生成txt文件标题及内容

2019-11-10 17:26:21
字体:
来源:转载
供稿:网友
生成文件,生成的内容是一张表格(像html中的table),文件类型支持:txt、html、csv、pdf、doc(或者docx)。

参数为:生成文件的类型、生成内容的标题(数组),生成内容(数组,和标题相对应)。

/***生成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+"); $res = fwrite($fp,$string); fclose($fp); if(!$fp || !$res){ return false; }else{ return true; } } }用这个类生成txt文件

//生成TXT文件function createTXT($dir,$file_name,$data){ if (!is_dir($dir)){ //如果目录不存在 mkdir(iconv("UTF-8", "GBK", $dir),0777,true); //创建目录 } $file_type = "txt"; $title = array('编号','链 接'); //类似于表格里边的表头 $file = new createFile($dir); $flag = $file-> create_file($file_name,$file_type,$title,$data); return $flag;}生成txt文件如图:

测试:

//测试$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 "生成失败";}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表