首页 / PHP / PHP读取CSV文件的问题
PHP读取CSV文件的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP读取CSV文件的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1315字,纯文字阅读大概需要2分钟。
内容图文
我正在尝试从a.csv文件中读取数据,将其作为文本输出到网页上.
这是我第一次这样做,我遇到了一个令人讨厌的小问题.
我的.csv文件(默认情况下由Excel打开)有多行,我将整个内容读作一个长字符串.
像这样:
$contents = file_get_contents("files/data.csv");
在我制作的这个示例文件中,有2行.
Paul Blueberryroad
85 us Flashlight,Bag November 20,
2008, 4:39 pmHellen Blueberryroad
85 us lens13mm,Flashlight,Bag,ExtraBatteries November
20, 2008, 16:41:32
但PHP读取的字符串是这样的:
Paul; Blueberryroad 85; us;手电筒,Bag; 2008年11月20日,下午4:39Hellen; Blueberryroad 85; us; lens13mm,手电筒,袋子,ExtraBatteries; 2008年11月20日,16:41:32
我正在分裂:
list($name[], $street[], $country[], $accessories[], $orderdate[]) = split(";",$contents);
我想要的是$name []包含“Paul”和“Hellen”作为其内容.并且其他数组接收各自列的值.
相反,我只得到保罗和$orderdate []的内容
November 20, 2008, 4:39 pmHellen
所以所有行都连接在一起.有人能告诉我如何实现我的需求吗?
编辑:发现解决方案,只剩下一个令人讨厌的东西:
我现在用这段代码解决了这个问题:
$fo = fopen("files/users.csv", "rb+");
while(!feof($fo)) {
$contents[] = fgetcsv($fo,0,';');
}
fclose($fo);
出于某种原因,尽管我的CSV文件只有2行,但它返回2个数组和1个布尔值.前两个是我的数据数组,布尔值是0.
解决方法:
最好使用知道CSV文件结构的fgetcsv()并指定处理CSV文件的选项.或者,您可以使用str_getcsv()替换文件的内容.
内容总结
以上是互联网集市为您收集整理的PHP读取CSV文件的问题全部内容,希望文章能够帮你解决PHP读取CSV文件的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。