php专区

 首页 > php专区 > PHP应用 > php函数大全 > php中fgetcsv函数在php5.2.8 中的数据不完整 - php函数

php中fgetcsv函数在php5.2.8 中的数据不完整 - php函数

分享到:
【字体:
导读:
          问题解析出来的数据不完整,有为空的字段,网上查了下说是在php5 2 8 中存在bug,解决办法是使用自定义函数,代码如下:...

php中fgetcsv函数在php5.2.8 中的数据不完整

问题解析出来的数据不完整,有为空的字段,网上查了下说是在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;  
分享到:
PHP substr 截取中文乱码的问题解决办法 ...
PHP substr 截取中文乱码的问题解决办法 在php中为我们提供了几个字符截取函数,包括substr,mb_substr,mb_strcut函数,我们有些php初学者会利用substr来截取中文,结果发现中文会有乱码了,出现乱码我们可以使用mb_substr来解决。 文章页面的 description 是使用 substr 函数来截取220字符的...
空间不支持fsockopen函数解决办法 - php...
空间不支持fsockopen函数解决办法 为了服务器安全考虑很多主机商禁用了php的fsockopen函数,昨天进博客,使用cos-html-cache生成静态文件,尼玛提示:Warning: fsockopen() has been disabled for security reasons in D:...cos-html-cachecos-html-cache.php on line 35 换了其他版本的cos...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……