Рецепт №74. Из книги «128 рецептов php»
Перейти к оглавлению
В предыдущем рецепте, был приведен пример выгрузки данных в csv файл. Но бывает, что требуется реализовать обратную операцию – сделать разбор csv файла, считать хранящиеся в нем данные. Получение данных из csv файла можно реализовать несколькими разными способами: получить содержимое файла и разбить его с помощью функции explode. А можно использовать специальную php функцию – fgetcsv, которая читает строку и производит ее разбор. Второй вариант более красивый и корректный, поэтому приведенный ниже пример будет использовать именно этот способ.
Пример:
$row = 1;
// открываем файл
$file = fopen("test.csv", "r");
// разбираем файл построчно
while (($data = fgetcsv($file, 1000, ";")) !== false){
// количество полей в строке
$countPlace = count($data);
echo "$countPlace полей в строке $row: <br/>";
// выводим значения
for ($c=0; $c < $countPlace; $c++) {
echo $data[$c] . "<br/>";
}
$row++;
}
fclose($file);
