当前位置: 移动技术网 > IT编程>开发语言>PHP > php生成txt文件标题及内容

php生成txt文件标题及内容

2018年04月11日  | 移动技术网IT编程  | 我要评论
<?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 "生成失败";
}

?>

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网