Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по PHP.doc
Скачиваний:
198
Добавлен:
04.06.2015
Размер:
2.76 Mб
Скачать

Включение файлов

Для включения содержимого PHP-файла в текущийPHP-документ используется

функция include().При этомPHP-сценарий, содержащийся во включенном файле,

выполняется так, как будто он является частью текущего документа.

Пусть имеется исходный PHP-документ:

<?php

echo “Это исходный документ <BR>”;

include(“D:/User/my_file.php”);

echo “Конец исходного документа <BR>”;

?>

Включаемый PHP-файл my_file.php имеет вид:

?php

echo "Это включаемый код <BR>";

echo "Суммируем 2 + 2 = ".(2+2), "<BR>";

echo "Конец включаемого кода <BR>";

?>

После выполнения исходного документа на экран будет выведено:

Это исходный документ Это включаемый код Суммируем 2 + 2 = 4 Конец включаемого кода Конец исходного документа

Внимание!Код включаемого файла должен находиться между дескрипторами:

<?php

код включаемого файла

?>

Если вставляемый файл не найден, то генерируетсяпредупреждение, и выполнение

сценария продолжается. Если необходимо в этом случае остановить выполнение

сценария, то вместо функции include() используется аналогичная ей функция

require().

Включаемый файл, как и функция, может возвращатьвычисленное значение, если он

заканчивается оператором return.

Пусть имеется исходный PHP-документ:

<?php

echo “Вычисление произведения: <BR>”;

$result = include(“D:/User/my_func.php”);

echo “Произведение равно $result <BR>”;

?>

Включаемый PHP-файлmy_func.php имеет вид:

?php

$proizv = 2 * 2;

return $proizv;

?>

После выполнения исходного документа на экран будет выведено:

Вычисление произведения: Произведение равно 4

Получение информации о файле

Перед началом работы с файлом следует получить о нем побольше информации. Для этого в PHPпредусмотрено несколько полезных функций:

1.

file_exists(“путь”)проверка существования файла: если файл найден – возвращаетсяtrue, если не найден –false,

2. проверка атрибутов файла

is_readable(“путь”)открыт ли файл для чтения - (truefalse),

is_writable(“путь”)открыт ли файл для записи - (truefalse),

is_executable(“путь”)можно ли запустить файл на выполнение - (truefalse),

3.

filesize(“путь”)определение размера файла в байтах,

4.

filectime(“путь”)дата создания файла – возвращает дату и время в формате timestamp,

5.

fileatime(“путь”)дата последнего обращения к файлу (чтение или запись) – возвращает дату и время в форматеtimestamp,

6.

filemtime(“путь”)дата последней модификации файла (запись или изменение хранящихся в нем данных) – возвращает дату и время в форматеtimestamp,

Блокировка файлов

Описанные методики чтения и изменения данных в файлах будут прекрасно работать

в случае, когда сценарий запускает только одинпользователь. Однако следует предполагать, что одним и тем же сценарием одновременно могут пользоваться несколько клиентов. В этом случае они могут одновременно обратиться к одному и тому же файлу для записи в него какой-то информации. Видимо, файл испортится.

Чтобы избежать такой проблемы, в PHPиспользуется функция блокировкиflock().Она блокирует файл и тем самым предупреждает другие процессы о невозможности записи или чтения файла на время работы с ним текущего процесса:

flock($fp, блокировка)

$fp– дескриптор файла,

блокировка– одна из трех констант - типов блокировки:

LOCK_CH- разрешает другим процессам читать файл, но запрещает запись в него,

LOCK_EX- запрещает другим процессам чтение и запись в файл,

LOCK_UN- снимает все блокировки.

Функцию flock()следует вызывать сразу после выполнения функцииfopen(),чтобыустановитьблокировку, а затем еще раз – перед закрытием файла, чтобы ееснять.