PHP 4 на практике




ГЛАВА 7


    ГЛАВА 7
    Файловый ввод/вывод и файловая система Данная глава посвящена одному из важнейших аспектов РНР — средствам файлового ввода/вывода. Как нетрудно предположить, входные и выходные потоки данных интен...
    Проверка существования и размера файла
    Прежде чем пытаться работать с файлом, желательно убедиться в том, что он существует. Для решения этой задачи обычно используются две функции: file_exists( ) и is_file( ). file_exists( ) Функция f...
    Открытие и закрытие файлов
    Прежде чем выполнять операции ввода/вывода с файлом, необходимо открыть его функцией fopen( ). fopen( ) Функция fopen( ) открывает файл (если он существует) и возвращает целое число — так называем...
    Запись в файл
    С открытыми файлами выполняются две основные операции — чтение и запись. is_writeable( ) Функция is_writeable( ) позволяет убедиться в том, что файл существует и для него разрешена операция записи...
    Чтение из файла
    Несомненно, чтение является самой главной операцией, выполняемой с файлами. Ниже описаны некоторые функции, повышающие эффективность чтения из файла. Синтаксис этих функций практически точно копир...
    Чтение файла в массив
    Функция file( ) загружает все содержимое файла в индексируемый массив. Каждый элемент массива соответствует одной строке файла. Синтаксис функции filе ( ): array file (string файл [, int включение...
    Перенаправление файла в стандартный выходной поток
    Функция readfile( ) читает содержимое файла и направляет его в стандартный вывод (в большинстве случаев — в браузер). Синтаксис функции readfile( ): int readfile (string файл [, int включение_пути...
    Открытие файлового манипулятора процесса
    popen( ) Наряду с обычными файлами можно открывать файловые манипуляторы для взаимодействия с процессами на сервере. Задача решается функцией рореn( ), которая имеет следующий синтаксис: int popen...
    Открытие соединения через сокет
    РНР не ограничивается взаимодействием с файлами и процессами — вы также можете устанавливать соединения через сокеты. Сокет (socket) представляет собой программную абстракцию, позволяющую устанавл...
    Запуск внешних программ
    Сценарии РНР также могут выполнять программы, находящиеся на сервере. Такая возможность особенно часто используется при администрировании системы через web-браузер, а также для более удобного полу...
    Обратные апострофы
    Существует и другой способ выполнения системных команд, не требующий вызова функций, — выполняемая команда заключается в обратные апострофы (` `), а результаты ее работы отображаются в браузере. П...
    Работа с файловой системой
    В РНР существуют функции для просмотра и выполнения различных операций с файлами на сервере. Информация об атрибутах серверных файлов (местонахождение, владелец и привилегии) часто бывает полезной...
    Отображение и изменение характеристик файлов
    У каждого файла в системах семейства UNIX есть три важные характеристики: принадлежность группе; владелец; разрешения (permissions). Все эти характеристики можно изменить при помощи соответствующи...
    Копирование и переименование файлов
    К числу других полезных системных функций, которые могут выполняться в сценариях РНР, относятся копирование и переименование файлов на сервере. Эти операции выполняются двумя функциями: сору( ) и...
    Удаление файлов
    unlink( ) Функция unlink( ) удаляет файл с заданным именем. Синтаксис: int unlink (string файл) Если вы работаете с РНР в системе Windows, при использовании этой функции иногда возникают проблемы....
    Работа с каталогами
    Функции РНР позволяют просматривать содержимое каталогов и перемещаться по ним. В листинге 7.8 изображена типичная структура каталогов в системе UNIX. Листинг 7.8. Типичная структура каталогов drw...
    Проект 1: простой счетчик обращений
    Сценарий, представленный в этом разделе, подсчитывает количество обращений к странице, в которой он находится. Прежде чем переходить к программному коду в листинге 7.9, просмотрите алгоритм, напис...
    Проект 2: построение карты сайта
    Сценарий, приведенный в листинге 7.10, строит карту сайта — иерархическое изображение всех папок и файлов на сервере, начиная с заданного каталога. При вычислении отступов элементов, из которых со...
    Итоги
    В этой главе были представлены многие средства РНР, предназначенные для работы с файлами. В частности, мы рассмотрели следующие вопросы: проверку существования файлов; открытие и закрытие файлов и...









Начало