php method for generating txt file titles and contents

  • 2020-12-10 00:39:22
  • OfStack

 
<?php 
/** 
*1. A few days ago 1 The guy at work they led him to write 1 Class: Generate file, file type supported: txt , html , csv , pdf , doc( or docx) .  
* 
*2. The generated content is 1 A table (like html In the table ), parameters are: type of file to be generated, title of content to be generated (array), content to be generated (array, corresponding to title).  
*/ 
/************************************************* 
* class name:createFile 
* description:create different type files 
* author:fenghuo 
* date:2013-11-12 
************************************************/ 
/** 
*3. I spent the evening helping him sort it out 1 A generation txt The document class . 
***/ 
class createFile{ 
public $file_type; 
public $file_name; 
public $file_dir; 
/** 
*  Constructor: Initializes the directory that generates the file  
*/ 
public function __construct($file_dir){ 
$this->file_dir = $file_dir; 
} 
/** 
*  An entry function to generate a file  
* @string $file_name  The file name  
* @string $file_type  The file type  
* @array $title  The header line of the generated content  
* @array $data  Generated content  
*/ 
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; 
#  Test point  
echo $fun,'--------------<br/>'; 
if( method_exists( $this,$fun)) 
{ 
$file = $file_name.".".$file_type; 
$this -> $fun ($file,$title,$data); 
return true; 
}else{ 
return "NO!"; 
} 
} 
/** 
* generate txt Type of file  
*@string $file  The file name  
*@array $title  The title  
*@array $data  content  
*/ 
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"; 
} 
#  Test point  
echo $this->file_dir.$file,'-----123---------<br/>'; 
$fp = fopen($this->file_dir.$file, "a+"); 
fwrite($fp,$string); 
fclose($fp); 
return true; 
} 


} 

//************************************** 
// test  
$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 " Generate success "; 
}else{ 
echo " Generate failure "; 
} 

?> 

Related articles: