Анализ данных, разделенных запятой
Решение
Если CSV-данные представляют собой файл (или они доступны через URL), то откройте файл с помощью функции fopen() и прочитайте данные с помощью функции fgetcsv(). Данные будут представлены в виде HTML-таблицы:
$fp = fopen('sample2.csv','r') or die("can't open file"); print "<table>\n"; while($csv_line = fgetcsv($fp,1024)) { print '<tr>'; for ($i = 0, $j = count($csv_line); $i < $j; $i++) { print '<td>'.$csv_line[$i].'</td>'; } print "</tr>\n"; } print '</table>\n'; fclose($fp) or die("can't close file");
Обсуждение
Второй аргумент в fgetcsv() должен превышать максимальную длину строки в вашем CSV-файле. (Не забудьте посчитать пробельные символы, ограничивающие строку.) Если длина читаемой строки превышает 1 Kбайт, то число 1024, использованное в данном рецепте, надо заменить на действительную длину строки. Функции fgetcsv() можно передать необязательный третий параметр, ограничитель, используемый вместо запятой. Однако применение другого ограничителя до некоторой степени лишает смысла CSV как наиболее простого способа обмена табличными данными. Не старайтесь избегать функции fgetcsv(), а просто читайте строку и вызывайте функцию explode() в случае запятых. CSV является более сложным, когда имеешь дело с внедренными запятыми и двойными кавычками. Использование функции fgetcsv() защитит ваш код от трудноуловимых ошибок.
Комментарии:
Комментариев нет
|
|
|
|
|