fgetcvs在linux的问题


Posted in PHP onJanuary 15, 2012

看到有人在有汉字的字符串 前加一个 ‘ 或是任意半角符号,让bug将其除掉,不过这样做太麻烦了。最后呢,找来一个模拟fgetcsv功能的函数。

function __fgetcsv(& $handle, $length = null, $d = ‘,', $e = ‘”‘) { 
$d = preg_quote($d); 
$e = preg_quote($e); 
$_line = “”; 
$eof=false; 
while ($eof != true) { 
$_line .= (empty ($length) ? fgets($handle) : fgets($handle, $length)); 
$itemcnt = preg_match_all(‘/' . $e . ‘/', $_line, $dummy); 
if ($itemcnt % 2 == 0) 
$eof = true; 
} 
$_csv_line = preg_replace(‘/(?: |[ ])?$/', $d, trim($_line)); 
$_csv_pattern = ‘/(‘ . $e . ‘[^' . $e . ']*(?:' . $e . $e . ‘[^' . $e . ']*)*' . $e . ‘|[^' . $d . ']*)' . $d . ‘/'; 
preg_match_all($_csv_pattern, $_csv_line, $_csv_matches); 
$_csv_data = $_csv_matches[1]; 
for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) { 
$_csv_data[$_csv_i] = preg_replace(‘/^' . $e . ‘(.*)' . $e . ‘$/s', ‘$1′ , $_csv_data[$_csv_i]); 
$_csv_data[$_csv_i] = str_replace($e . $e, $e, $_csv_data[$_csv_i]); 
} 
return empty ($_line) ? false : $_csv_data; 
}
PHP 相关文章推荐
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
Aug 26 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
Sep 30 PHP
PHP开启gzip页面压缩实例代码
Mar 11 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
浅析php-fpm静态和动态执行方式的比较
Nov 09 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
Nov 13 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 PHP
php微信小程序解包过程实例详解
Mar 31 PHP
PHP异步调用socket实现代码
Jan 12 #PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 #PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 #PHP
Trying to clone an uncloneable object of class Imagic的解决方法
Jan 11 #PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 #PHP
php通过COM类调用组件的实现代码
Jan 11 #PHP
关于IIS php调用com组件的权限问题
Jan 11 #PHP
You might like
PHPShop存在多个安全漏洞
2006/10/09 PHP
杏林同学录(九)
2006/10/09 PHP
基于php 随机数的深入理解
2013/06/05 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
Python通过poll实现异步IO的方法
2015/06/04 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
python远程邮件控制电脑升级版
2019/05/23 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
python中Mako库实例用法
2020/12/31 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
农村结婚典礼司仪主持词
2014/03/14 职场文书
党员承诺书内容
2014/03/26 职场文书
工作经历证明范本
2015/06/15 职场文书
高中英语教学反思范文
2016/03/02 职场文书