Чтение CSV-файлов. Преобразование CSV-файла в HTML-таблицу
При работе с таблицами (например, в Excel) есть возможность сохранения таб- лицы в формате CSV. В этом формате каждая строка будет содержать значения ряда ячеек таблицы, разделенных точкой с запятой. Например, таблица
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
при сохранении в формате CSV будет выглядеть следующим образом:
1;2;3;4
5;6;7;8
9;10;11;12
Для чтения CSV-файлов используется функция fgetcsv(). Функция имеет следующий формат:
fgetcsv(<Дескриптор>, [<Длина в байтах>], [<Разделитель>], [<Ограничитель>]);
Если <Разделитель> не указан, то по умолчанию используется , (запятая). А если не указан <Ограничитель>, то по умолчанию используется символ " (кавычка).
Функция fgetcsv() считывает из файла одну строку при каждом вызове. Считывание будет выполняться до тех пор, пока не встретится символ новой строки (\n), символ конца файла или из файла не будет прочитано указанное количество байт. Строка будет разбита по разделителю <Разделитель> и по- мещена в возвращаемый массив.
Если какая-либо ячейка содержит символ разделителя, то все содержимое ячейки обычно заключается в кавычки. Если используется другой символ, то он должен быть указан в параметре <Ограничитель>.
При сохранении в формате CSV таблица
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12;15 |
будет выглядеть так:
1;2;3;4
5;6;7;8
9;10;11;"12;15"
Чтобы преобразовать CSV-файл в HTML-таблицу, можно воспользоваться кодом, приведенным в листинге 5.47.
Листинг 5.47. Преобразование CSV-файла в HTML-таблицу
<?php
@$file = fopen(‘filecsv.csv’, ‘r’) or die(‘Ошибка’);
flock($file, 1);
echo ‘<table cellspacing="0" cellpadding="5" border="1" width="200">’;
echo "\n";
while(!feof($file)) {
$Mass = fgetcsv($file, 1024, ‘;’);
$j = count($Mass);
if ($j != 1) {
echo ‘<tr align="center">’ . "\n";
for ($k=0; $k<$j; $k++) { echo ‘<td width="25%">’; echo $Mass[$k];
echo "</td>\n";
}
echo "</tr>\n";
}
}
echo ‘</table>’;
flock($file, 3); // 3 == LOCK_UN
fclose($file);
?>
Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)
Похожие посты:
- СЛОВАРЬ ПОИСКОВЫЕ СИСТЕМЫ (0)
- Добавление комментария в файл с каскадной таблицей стилей (0)
- Применение эффекта прозрачности (0)
- Придание кнопке подтверждения вида текста (0)
- Достижение прозрачности изображения в формате PNG в Internet Explorer 6 (1)
- Расширение системы шаблонов Django (0)
- Первая страница, созданная в Django: Hello World (0)