【发布时间】:2010-01-13 21:32:35
【问题描述】:
当我使用以下方法解析它时,我有一个文本文件(它的逗号用双引号括起来的一些字段分隔):
if (($handle = fopen('C:\tester\fake.txt', "r")) !== FALSE) {
while (($data = fgetcsv($handle, ",")) !== FALSE) {
$num = count($data);
//echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
显示每个字段没有引号,fgetcsv会自动删除吗?
如何让它显示没有引号的字段并为其添加引号然后保存文件?可能吗?
谢谢大家
更新
我刚刚尝试了 fputcsv,我发现写入的文件在字段周围没有引号,只有很少,比初始文件少!我做错了什么?
$row = 1;
$newfile = fopen('C:\new-file.txt', "w");
if (($handle = fopen('C:\fake.txt', "r")) !== FALSE) {
while (($data = fgetcsv($handle, ",")) !== FALSE) {
$num = count($data);
fputcsv($newfile, $data, ',', '"');
}
fclose($handle);
fclose($newfile);
}
【问题讨论】:
-
您的输入文件格式可能不正确,您能否从传入的 CSV 中粘贴一些问题行?
标签: php csv text-files