多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > 解決php fgetcsv 讀取csv文件數(shù)據(jù)不完整問題

解決php fgetcsv 讀取csv文件數(shù)據(jù)不完整問題

來源:程序員人生   發(fā)布時間:2014-04-19 14:39:06 閱讀次數(shù):5036次

csv文件是在php中有fgetcsv函數(shù)來讀取,但在linux是的php5.2.8版本中會發(fā)現(xiàn)fgetcsv讀出來的csv文件數(shù)據(jù)不完整,在windows其它版本中,代碼如下:

  1. # Open the File.  
  2. if (($handle = fopen("test.csv""r")) !== FALSE) {  
  3.     # Set the parent multidimensional array key to 0.  
  4.     $nn = 0;  
  5.     while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {  
  6.          
  7. //print_r($data);  
  8.         # Count the total keys in the row.  
  9.         $c = count($data);  
  10.         # Populate the multidimensional array.  
  11.         for ($x=0;$x<$c;$x++)  
  12.         {  
  13.             $csvarray[$nn][$x] = $data[$x];  
  14.         }  
  15.         $nn++;  
  16.     }  
  17.     # Close the File.  
  18.     fclose($handle);  
  19. }  
  20. //print_r($csvarray); 

這個代碼沒有任何問題,然后我放到了linux中發(fā)現(xiàn)有為空的字段了,問題解析出來的數(shù)據(jù)不完整,有為空的字段,網(wǎng)上查了下說是在php5.2.8 中存在bug,解決辦法是使用自定義函數(shù),代碼如下:

  1. function __fgetcsv(& $handle$length = null, $d = ','$e = '"') {  
  2.      $d = preg_quote($d);  
  3.      $e = preg_quote($e);  
  4.      $_line = "";  
  5.      $eof=false;  
  6.      while ($eof != true) {  
  7.          $_line .= (emptyempty ($length) ? fgets($handle) : fgets($handle$length));  
  8.          $itemcnt = preg_match_all('/' . $e . '/'$_line$dummy);  
  9.          if ($itemcnt % 2 == 0)  
  10.              $eof = true;  
  11.      }  
  12.      $_csv_line = preg_replace('/(?: |[ ])?$/'$d, trim($_line));  
  13.      $_csv_pattern = '/(' . $e . '[^' . $e . ']*(?:' . $e . $e . '[^' . $e . ']*)*' . $e . '|[^' . $d . ']*)' . $d . '/';  
  14.      preg_match_all($_csv_pattern$_csv_line$_csv_matches);  
  15.      $_csv_data = $_csv_matches[1];  
  16.      for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) {  
  17.          $_csv_data[$_csv_i] = preg_replace('/^' . $e . '(.*)' . $e . '$/s''$1' , $_csv_data[$_csv_i]);  
  18.          $_csv_data[$_csv_i] = str_replace($e . $e$e$_csv_data[$_csv_i]);  
  19.      }  
  20.      return emptyempty ($_line) ? false : $_csv_data;  
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 母狗求操 | 中文字幕乱码中文乱码综合 | 亚洲免费小视频 | 久久精品隔壁老王影院 | 欧美成人精品福利网站 | 五月在线视频 | 免费欧洲毛片a级视频 | 亚洲五月激情 | 一二三四视频在线观看免费高清 | 久久一本精品久久精品66 | 成人影院vs一区二区 | 亚洲国产欧美在线 | 国产第一页在线观看 | 国产精品嫩草影院人体模特 | 精品亚洲成a人在线观看 | α片毛片免费看 | 国产精品自拍在线 | 欧美成人精品一区二区 | 欧美第五页 | 国产午夜亚洲精品久久www | 亚洲一区二区三区夜色 | 欧美乱爱| 国产精品日韩欧美亚洲另类 | 欧美精品videosfree720 | 欧美精品一区午夜小说 | 国产午夜亚洲精品久久www | 国产v综合v亚洲欧美 | 亚洲欧美一区二区三区九九九 | 国产精品一区伦免视频播放 | a一级爱做片免费 | 操人视频网站 | 欧美精18videosex性欧美 | 国产欧美在线观看视频 | 图片区小说区校园 | 国内一区二区三区精品视频 | 精品一区二区三区自拍图片区 | 波多野结衣一二区 | 日本中文字幕在线视频 | 国产第一福利 | 国产91第一页 | 亚洲精品欧美综合 |