<div class="codetitle"><a style="CURSOR: pointer" data="92615" class="copybut" id="copybut92615" onclick="doCopy('code92615')"> 代码如下:<div class="codebody" id="code92615"> <?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->filetype; } $fun = 'mk'.$file_type; # 测试点 echo $fun,'-------------- '; if( method_exists( $this,$fun)) { $file = $file_name.".".$file_type; $this -> $fun ($file,$data); return true; }else{ return "NO!"; } } /* 生成txt类型文件 @string $file 文件名 @array $title 标题 @array $data 内容 / public function mk_txt($file,$data){ $string = ""; if(!empty($title)){ for( $i = 0;$i < count( $title ); $i++ ){ $string .= ' '. mb_convert_encoding($title[$i],'GBK',"UTF-8"); } $string .="rn"; } foreach ( $data as $key =>$var) { for( $i = 0; $i < count($data[$key]); $i++ ){ $string .= ' '. mb_convert_encoding($data[$key][$i],"UTF-8"); } $string .="rn"; } # 测试点 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,$data); if($flag == true){ echo "生成成功"; }else{ echo "生成失败"; } ?>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|