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 相关文章推荐
PHP新手上路(十)
Oct 09 PHP
swfupload 多文件上传实现代码
Aug 27 PHP
php 需要掌握的东西 不做浮躁的人
Dec 28 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
使用php测试硬盘写入速度示例
Jan 27 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
PHP魔术方法使用方法汇总
Feb 14 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
PHP一个简单的无需刷新爬虫
Jan 05 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
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
PHP number_format() 函数定义和用法
2012/06/01 PHP
php动态生成函数示例
2014/03/21 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
JQuery 风格的HTML文本转义
2009/07/01 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
vuex存储token示例
2019/11/11 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
Python3搜索及替换文件中文本的方法
2015/05/22 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
如何使用Pytorch搭建模型
2020/10/26 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
vivo智能手机官方商城:vivo
2016/09/22 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
上课迟到检讨书100字
2014/01/11 职场文书
仓库管理制度
2014/01/21 职场文书
环保倡议书300字
2014/05/15 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
同意迁入证明模板
2014/10/26 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript