Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript

Печать

Функция flock не будет работать в сетевой файловой системе NFS (Network File System) и во многих других файловых системах, основанных на применении сетей. Не стоит полагаться на flock и при использовании многопоточных серверов типа ISAPI, потому что она не защитит файлы от доступа из кода PHP-сценариев, запущенных в параллельных потоках на том же физическом сервере. Кроме того, flock не поддерживается на файловых системах FAT и их производных, и поэтому в такой среде она всегда будет возвращать FALSE (особенно это касается пользователей Windows 98).

Чтение всего файла целиком

Для чтения целиком всего файла без использования описателей файлов можно воспользоваться очень удобной функцией f i 1 е_ get ^contents. Она очень проста в применении, о чем свидетельствует код примера 7.13.

Пример 7.13. Использование функции filejet_contents <?php

echo "<pre>":// Тег, позволяющий отображать переводы строк echo fi 1e_get_contents("testfi 1e.txt");

echo "</pre>"; // Прекращение действия тега pre ?>

Рис. 7.1. Главная страница веб-сайта O'Reilly, захваченная с помощью функции file_get_contents

Но эту функцию можно использовать и с большей пользой. С ее помощью можно извлечь файл с сервера через Интернет. В примере 7.14 показан запрос кода HTML с главной страницы веб-сайта O'Reilly с последующим ее отображением, как при обычном переходе на саму веб-страницу. Полученный результат будет похож на копию страницы, показанную на рис. 7.1.