日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 解決php fgetcsv 讀取csv文件數據不完整問題

解決php fgetcsv 讀取csv文件數據不完整問題

來源:程序員人生   發布時間:2014-04-19 14:39:06 閱讀次數:5043次

csv文件是在php中有fgetcsv函數來讀取,但在linux是的php5.2.8版本中會發現fgetcsv讀出來的csv文件數據不完整,在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中發現有為空的字段了,問題解析出來的數據不完整,有為空的字段,網上查了下說是在php5.2.8 中存在bug,解決辦法是使用自定義函數,代碼如下:

  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;  
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精久久| 亚洲福利网 | 首页 国产 欧美 日韩 丝袜 | 国产一级毛片一区二区 | 久久国产成人精品 | 亚洲午夜视频在线观看 | 成人一区二区视频 | 高清日韩欧美 | 国产午夜精品久久久久久久 | 日本在线免费播放 | 欧美亚洲一 | 欧美激情在线精品一区二区三区 | 精品久久久久久久久久久院品网 | 午夜av福利 | 久久观看 | 久久久综合色 | 久久国产精品一区二区三区 | 免费视频一二三区 | 日本成人中文字幕 | 狠狠躁日日躁夜夜躁影院 | 日韩欧美成人一区二区 | 久久久久国产精品一区三寸 | 美女一区 | 91久久久久久 | a色网站 | 久久久精品免费视频 | 国产一区久久 | 免费看的av | 久久人人爽人人爽 | 日韩精品一区二区三区免费观看 | 国产精品免费一区二区三区都可以 | 一区两区小视频 | 午夜精品美女久久久久av福利 | 日韩国产欧美一区二区三区 | 99动漫| 国产精品久久久久久久久久嫩草 | 久久精品国产一区二区 | 欧美激情一二三区 | 国产精品免费在线播放 | 天堂俺去俺来也www 黄色av一区二区三区 | 免费在线观看一区 |