首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > VSTS >

PHP把数据导出替CVS格式的类

2012-12-21 
PHP把数据导出为CVS格式的类///////////////第一次调用类,给csv的路径#$bnew CsvFieldDump(./sample.csv

PHP把数据导出为CVS格式的类

///////////////第一次调用类,给csv的路径#$b=new CsvFieldDump("./sample.csv");//余下的这些函数是可选的-这取决于你想要什么#$b->dump_headers();#$b->dump_column_by_name(array("Description", "Code"));#$b->dump_column_by_name("Code");#$b->dump_column(array(1, 2, 3));#$b->dump_column(3);class CsvFieldDump  { var $headers;var $fieldnum;function CsvFieldDump($infile){if(empty($infile)){die("You must specify a csv file to read\n");}if(!file_exists($infile)){die("$infile doesn't exist!\n");}$this->infile  = $infile;$this->fieldnum = $field;$this->createFile=0;return(true);}var $headers=array();function dump_headers($dumptoscreen=1){$this->fd=fopen($this->infile, "r") or die("Couldn't open csv file $file");$count=0;while($data = fgetcsv($this->fd, 1000, ",") ){if(!$count){if($dumptoscreen){print_r($data);}$this->headers=$data;}$count=1;}return($this->headers);}function dump_column($num){$this->fieldnum = $num;$this->fd=fopen($this->infile, "r") or die("Couldn't open csv file $file");$count=0;while($data = fgetcsv($this->fd, 1000, ",")){$array=array();if(is_array($this->fieldnum)){foreach($this->fieldnum as $num){$array[]=$data[$num];}}else{$array = array($data[$this->fieldnum]);}$this->write_line($array);}}var $colname;var $headers_flip;function dump_column_by_name($name){if(!isset($name)){die("No field name specified");}$this->colname=$name;$this->dump_headers(0);$this->headers_flip = array_flip($this->headers);if(is_array($this->colname)){foreach($this->colname as $n){$array[] = $this->headers_flip[$n];}}else{$array[] = $this->headers_flip[$this->colname];}$this->dump_column($array);}function write_line($data){$string="";$num=count($data);for($x=0;$x<$num;$x++){$string.=$data[$x];if($x<$num-1){$string.=",";}}echo $string."\n";}}/////////////////////// make it think its a c program :) if(isset($argv[1])){$filename = $argv[count($argv)-1];if($argv[1] == "-h"){render_help();die();}else{$b=new CsvFieldDump($filename);}$x=0;foreach($argv as $opt){switch($opt) {case "df":case "-df" : $number = $argv[$x+1];if(strstr($number, ",")){$numbers = explode(",",$number);}else{$numbers = $number;}$b->dump_column($numbers);break;case "-dn":$number = $argv[$x+1];if(strstr($number, ",")){$names = explode(",",$number);}else{$names = $number;}$b->dump_column_by_name($names);break;case "--help":case "-h" : render_help();break;case "-dh" : $b->dump_headers();break;}$x++;}}function render_help(){echo "CsvFieldDump version 0.0.0.1 by mark fate_amendable_to_change@yahoo.com-df <n>    = dumps field(s) number n - also (accepts comma delimited list for multiple field numbers eg: -df 1,2,3)-dn <N>    = dumps field(s) named N (accepts comma delimited list for multiple names eg: -dn Code,Desc)-dh        = dumps csv headers ";}
?

热点排行