亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php將文本文件轉換csv輸出的方法

2024-05-04 23:29:40
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php將文本文件轉換csv輸出的方法,通過對SplFileObject類的繼承與擴展實現文本文件轉換輸出的功能,是非常實用的技巧,需要的朋友可以參考下
 
 

本文實例講述了php將文本文件轉換csv輸出的方法。分享給大家供大家參考。具體實現方法如下:

這個類提供了轉換成固定寬度的CSV文件,快速,簡便的方法,它可將SplFileObject用于執行迭代,使它非常高效的一個迭代只知道當前成員,期權是提供給指定行字符和字段分隔符結束,This from CSV files.這個類是特別有用的,如果數據需要來自一個固定寬度的文件,并插入到數據庫中,因為大多數的數據庫支持從CSV文件中的數據輸入.

這一類的方便的功能是可以跳過字段如果不是在輸出需要,該領域的陣列提供,提供了一個鍵/值對,與主要持有的價值偏移,或啟動領域的地位,和值包含的寬度,或字段的長度,For example.例如,12 =“10是一個領域,在12位和寬度或字段的長度為10個字符開始.

底的行字符默認成“ n”,而是可以設置為任何字符。

分隔符默認為一個逗號,但可以設置為任何字符,或字符。

從文件的輸出可以直接使用,寫入一個文件,到數據庫或任何其他目的插入.

PHP實例代碼如下:

復制代碼代碼如下:
<?php 
/**  
* Class to convert fixed width files into CSV format  
* Allows to set fields, separator, and end-of-line character  
*  
* @author Kevin Waterson  
* @url http://phpro.org  
* @version $Id$  
*  
*/  
class fixed2CSV extends SplFileObject  
{  
/**  
*  
* Constructor, duh, calls the parent constructor  
*  
* @access       public  
* @param    string  The full path to the file to be converted  
*  
*/  
public function __construct ( $filename )  
{  
parent :: __construct ( $filename );  

 
/*  
* Settor, is called when trying to assign a value to non-existing property  
*  
* @access    public  
* @param    string    $name    The name of the property to set  
* @param    mixed    $value    The value of the property  
* @throw    Excption if property is not able to be set  
*  
*/  
public function __set ( $name , $value )  
{  
switch( $name )  
{  
case 'eol' :  
case 'fields' :  
case 'separator' :  
$this -> $name = $value ;  
break; 
 
default:  
throw new Exception ( "Unable to set $name " );  
}  

 
/**  
*  
* Gettor This is called when trying to access a non-existing property  
*  
* @access    public  
* @param    string    $name    The name of the property  
* @throw    Exception if proplerty cannot be set  
* @return    string  
*  
*/  
public function __get ( $name )  
{  
switch( $name )  
{  
case 'eol' :  
return " " ; 
 
case 'fields' :  
return array(); 
 
case 'separator' :  
return ',' ; 
 
default:  
throw new Exception ( " $name cannot be set" );  
}  

 
/**  
*  
* Over ride the parent current method and convert the lines  
*  
* @access    public  
* @return    string    The line as a CSV representation of the fixed width line, false otherwise  
*  
*/  
public function current ()  
{  
if( parent :: current () )  
{  
$csv = '' ;  
$fields = new cachingIterator ( new ArrayIterator ( $this -> fields ) );  
foreach( $fields as $f )  
{  
$csv .= trim ( substr ( parent :: current (), $fields -> key (), $fields -> current ()  ) );  
$csv .= $fields -> hasNext () ? $this -> separator : $this -> eol ;  
}  
return $csv ;  
}  
return false ;  
}  
} // end of class 
?>

 
Example Usage示例用法 
復制代碼代碼如下:
<?php 
try  
{  
/*** the fixed width file to convert ***/  
$file = new fixed2CSV ( 'my_file.txt' ); 
 
/*** The start position=>width of each field ***/  
$file -> fields = array( 0 => 10 , 10 => 15 , 25 => 20 , 45 => 25 ); 
 
/*** output the converted lines ***/  
foreach( $file as $line )  
{  
echo $line ;  

 
/*** a new instance ***/  
$new = new fixed2CSV ( 'my_file.txt' ); 
 
/*** get only first and third fields ***/  
$new -> fields = array( 0 => 10 , 25 => 20 ); 
/*** output only the first and third fields ***/  
foreach( $new as $line )  
{  
echo $line ;  

 
}  
catch( Exception $e )  
{  
echo $e -> getMessage ();  

?>

 

希望本文所述對大家的php程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频观看| 国产美女久久久| 亚洲国产美女久久久久| 国产精品女视频| 精品一区二区三区四区| 国产日本欧美一区二区三区在线| 国产精品综合网站| 亚洲精品欧美日韩| 日韩精品免费在线| 91精品国产高清久久久久久久久| 国内精品久久久久久中文字幕| 国产成人综合av| 欧美特级www| 国产精品一区二区三区毛片淫片| 国精产品一区一区三区有限在线| 欧美激情精品久久久久久免费印度| 97不卡在线视频| 国产精彩精品视频| 高清在线视频日韩欧美| 中文字幕九色91在线| 日本不卡视频在线播放| 欧美激情第99页| 国产大片精品免费永久看nba| 亚洲va码欧洲m码| 国产精品精品视频| 久久九九免费视频| 日本欧美一二三区| 精品国产91久久久久久| 欧美成人精品一区| 色噜噜国产精品视频一区二区| 91日本在线观看| 精品国产一区二区三区久久狼黑人| 亚洲一区二区三区毛片| 欧美成人免费视频| 亚洲午夜久久久久久久| 亚洲丝袜在线视频| 91chinesevideo永久地址| 亚洲精品97久久| 国产乱肥老妇国产一区二| 国产成人精品在线播放| 午夜精品久久久久久久白皮肤| 亚洲图片欧美日产| 久久国产精品首页| 精品亚洲精品福利线在观看| 日韩免费中文字幕| 一区二区三区高清国产| 中文字幕在线日韩| 4k岛国日韩精品**专区| 日韩电视剧免费观看网站| 欧美国产日产韩国视频| 欧美激情亚洲精品| 久久久精品久久久久| 亚洲欧美日韩一区二区在线| 欧美日韩国产丝袜另类| 视频一区视频二区国产精品| 青草青草久热精品视频在线观看| 欧美激情一区二区三区在线视频观看| 日韩在线观看免费全集电视剧网站| 欧美国产日韩二区| 国产视频亚洲精品| 欧美日韩成人网| 国产精品你懂得| 亚洲成人激情视频| 国产精品色午夜在线观看| 久久成人在线视频| 亚洲欧美成人在线| 亚洲跨种族黑人xxx| 欧美大片免费看| 国产精品久久久久久婷婷天堂| 美女精品视频一区| www.亚洲人.com| 欧美一区二区大胆人体摄影专业网站| 久久天天躁夜夜躁狠狠躁2022| 久久久久久久久久亚洲| 成人免费视频a| 精品国产一区久久久| 久久视频在线播放| 97视频在线观看免费高清完整版在线观看| 国产精品视频公开费视频| 91精品国产91久久久久| 国产精品久久久久999| 久久久久久91香蕉国产| 欧美午夜精品久久久久久浪潮| 在线观看视频亚洲| 亚洲精品久久7777777| 精品亚洲一区二区三区| 日韩在线视频线视频免费网站| 2020久久国产精品| 中文字幕日韩欧美在线| 精品久久国产精品| 色婷婷综合久久久久| 亚洲第一区中文字幕| 色播久久人人爽人人爽人人片视av| 国产精品成人国产乱一区| 成人精品一区二区三区| 国产成人精品电影| 亚洲一区二区日本| 精品视频久久久| 伊人男人综合视频网| 久久久久久久久久久免费精品| 亚洲午夜av久久乱码| 国产亚洲欧洲高清| 亚洲国产精品小视频| 国产精品久久99久久| 国产精品一久久香蕉国产线看观看| 性欧美长视频免费观看不卡| 欧美另类精品xxxx孕妇| 亚洲午夜色婷婷在线| 欧美精品999| 欧美一级大胆视频| 亚洲综合最新在线| 97婷婷大伊香蕉精品视频| www.久久久久久.com| 久久理论片午夜琪琪电影网| 日韩中文字幕网站| 91视频国产一区| 中文字幕亚洲综合| 热久久免费国产视频| 日韩色av导航| 欧美国产日产韩国视频| 亚洲人成毛片在线播放| 亚洲国产成人爱av在线播放| 国模叶桐国产精品一区| 久久久999精品| 亚洲国产精品国自产拍av秋霞| 久久久精品在线| 欧美一区二区三区艳史| 欧美中文字幕视频在线观看| 午夜精品久久久久久久99热| 国产亚洲精品激情久久| 欧美日在线观看| 538国产精品视频一区二区| 欧美日韩aaaa| 狠狠爱在线视频一区| 日韩精品视频三区| 久久亚洲影音av资源网| 亚洲国产一区二区三区在线观看| 奇门遁甲1982国语版免费观看高清| 国产69精品久久久久9| 日本成人在线视频网址| 在线观看日韩专区| 中文字幕日韩欧美精品在线观看| 国产精品欧美久久久| 亚洲综合最新在线| 欧美高跟鞋交xxxxxhd| 色yeye香蕉凹凸一区二区av| 日韩中文字幕免费视频| 隔壁老王国产在线精品| 激情久久av一区av二区av三区| 亚洲美女自拍视频| 91精品国产综合久久男男| 亚洲男人第一av网站| 欧美日韩国产精品一区| 久久久91精品国产| 亚洲最大的网站| 伊人久久精品视频| 国产精品白丝av嫩草影院| 亚洲剧情一区二区| 中文字幕亚洲欧美在线| 国产精品久久久久久久久久尿| 欧美一级大胆视频| 成人激情黄色网| 欧美福利小视频| 成人国产在线视频|