Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5. Работа с файлами.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
84.48 Кб
Скачать

6. Чтение из csv-файла

Данные в текстовом файле могут иметь табличную структуру: в каждой строке они отделяются друг от друга некоторым символом-разделителем («,», «;» и др.). Текстовые файлы с такой организацией данных называются csv-файлами (comma separated values — значения, разделенные запятой). Многие прикладные системы, работающие с таблицами и базами данных (например, MS Excel, MS Access и др.), могут экспортировать свои данные в csv-файлы и, наоборот, импортировать csv-файлы в свои структуры. Это позволяет различным приложениям обмениваться данными.

Для чтения файлов с расширение csv в переменную применяется функция fgetcsv().

Синтаксис:

fgetcsv (int file, int length , string delim [, string enclosure])

Функция читает строку из файла и разбивает ее по символу delim. Строка delim должна состоять из одного символа. Функция возвращает получившийся массив или false, если достигнут конец файла. Пустые строки в файле не игнорируются, а возвращаются как массив из одного элемента — пустой строки. Параметр length задает максимальную длину строки точно так же, как этот делается в функции fgets().

Листинг 5.7. Построчное чтение из csv-файла

<html>

<head><title>Построчное чтение из csv-файла </title></head>

<body>

<table border=1>

<?php

$f_name="price.csv";

$fp = fopen ($f_name,"r");

while ($data = fgetcsv ($fp, filesize($f_name), ";"))

{

print "<tr>";

$num = count ($data);

for ($c=0; $c < $num; $c++)

print "<td>".$data[$c]."</td>";

print "</tr>";

}

fclose ($fp);

?>

</table>

</body>

</html>

7. Включение файла в документ

При разработке сложных сайтов, часто на многих страницах используются одинаковый HTML-дизайн и одинаковые PHP-функции. Переписывать строки кода в каждом сценарии неэффективно, кроме того если возникнет необходимость внести какие-то изменения, делать это придется во многих местах.

Массу времени удастся сэкономить, создав отдельные файлы для общего кода и включив их в PHP-сценарии с помощью одной из двух инструкций: include() и require().

Синтаксис:

include ( filename )

require ( filename ).

Обе команды работают почти одинаково, за исключением одного существенного различия. Независимо от того, в каком месте сценария имеется инструкция require(), ею всегда будет вставлен требуемый файл, даже если блок кода, где она задана, в данный момент не работает. Функция include(), наоборот, включит код из файла, только если она действительно вызвана. Поэтому необходимо использовать команду require(), когда файл должен быть включен, и include(), если файл в зависимости от обстоятельств может быть включен или нет. Рассмотрим более подробно команду include().

Функция принимает единственный аргумент — путь к включаемому файлу. Результатом ее действия является подстановка содержимого файла в место вызова в исходном скрипте. Если в качестве включаемого файла выступает PHP-скрипт, то сначала происходит его подстановка в исходный скрипт, а затем интерпретация результирующего скрипта.

Когда файл подключён, содержащийся в нём код наследует область видимости переменной1 строки, на которой возникло подключение. Любые переменные, доступные на этой строке в вызывающем файле, будут доступны в вызываемом файле, вперёд от этой точки. Любые переменные, доступные в вызываемом файле, будут доступны в вызывающем файле, вперёд от этой точки.

Листинг 5.8. Функция include()

<html>

<head> <title>Включение файла в документ</title></head>

<body>

<?php

echo " первый<br>";

include("5.9.php");

echo " третий <br>";

?>

</body>

</html>

Файл 5.9.php содержит код, представленный в листинге 5.10.

Листинг 5.9. Файл 5.9.php

<html>

<head><title>Включаемый файл</title></head>

<body bgcolor=yellow text=red>

<font color=blue>

<?php

echo " второй<br>";

?>

<h3> текст необязательно должен выводиться оператором echo </h3>

</font>

</body>

</html>