У меня есть текстовый файл (его запятая разделена некоторыми полями, заключенными в двойные кавычки), когда я анализирую его, используя это:
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);
}