麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

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

2024-09-04 11:47:57
字體:
供稿:網(wǎng)友

csv文件是在php中有fgetcsv函數(shù)來讀取,但在linux是的php5.2.8版本中會(huì)發(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); 

這個(gè)代碼沒有任何問題,然后我放到了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;  

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美一区二区精品夜夜嗨 | 1024亚洲天堂| 国产精品视频二区不卡 | 毛片网站视频 | 羞羞色在线观看 | 久久精品一区二区三区四区五区 | 国产羞羞网站 | 久久久久久久亚洲视频 | 日韩黄色片免费看 | 国产精品9191 | 视频一区二区久久 | 国产精品一区在线观看 | 亚洲一区二区中文 | 亚洲精品成人在线视频 | av在线电影网站 | 久久久久久久久久久久网站 | 欧美成人三级视频 | 福利一区二区三区视频在线观看 | 特级毛片全部免费播放器 | 成人av一区二区免费播放 | 插插操 | av在线免费在线观看 | 精品午夜久久 | 久久精品视频一区二区 | 国产精品嘿咻嘿咻在线播放 | 欧美国产二区 | 成人做爰高潮片免费视频韩国 | 亚洲小视频在线观看,com | 毛片大全 | 久久久裸体视频 | 一区二区三区手机在线观看 | 久久九九热re6这里有精品 | 免费黄色成人 | 国产一区二区免费 | 久久久久久亚洲综合影院红桃 | 一级毛片在线看 | 水卜樱一区二区av | 亚洲午夜不卡 | 午夜视频久久久 | gogo全球大胆高清人露出91 | 99爱视频在线观看 |