52680.fb2 Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 81

Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 81

Синтаксис:

bool ftruncate(int $f, int $newsize)

Эта функция усекает открытый файл $f до размера $newsize. Разумеется, файл должен быть открыт в режиме, разрешающим запись.

Например, следующий код очищает весь файл:

ftruncate($f,0);

fflush

Немедленная запись всех изменений в файле.

Синтаксис:

void fflush(int $f)

Заставляет PHP немедленно записать на диск все изменения, которые производились до этого с открытым файлом $f. Что это за изменения? Дело в том, что для повышения производительности все операции записи в файл буферизируются: например, вызов fputs($f, "Это строка!") не приводит к непосредственной записи данных на диск - сначало они попадают во внутренний буфер (обычно размером 8К). Как только буфер заполняется, его содержимое отправляется на диск, а сам он очищается, и все повторяется вновь. Особенный выигрыш от буферизации чувствуется в сетевых операциях, когда просто глупо отправлять данные маленькими порциями.

set_file_buffer

Устанавливает размер буфера.

Синтаксис:

int set_file_buffer(int $f, int $size)

Эта функция устанавливает размер буфера, о котором говорилось выше, для указанного открытого файла $f.

Чаще всего она используется так:

set_file_buffer($f,0);

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

flock

Блокирование файла.

Синтаксис:

bool flock(int $f, int $operation [, int $wouldblock])

Функция устанавливает для указанного открытого дескриптора файла $f режим блокировки, который бы хотел получить текущий процесс. Этот режим задается аргументом $operation и может быть одной из следующих констант:

В случае, если был затребован режим без ожидания, и блокировка не была успешно установлена, в необязательный параметр-переменную $wouldblock будет записано значение истина true.

В случае ошибки функция возвращает false, а в случае успешного завершения - true.

Функции для работы с каталогами

mkdir

Создание каталога.

Синтаксис:

bool mkdir(string $name, int $perms)

Создает каталог с именем $name и правами доступа perms. Права доступа для каталогов указываются точно так же, как и для файлов. Чаще всего значение $perms устанавливают равным 0770 (предваряющий ноль обязателен - он указывает PHP на то, что это - восьмеричная константа, а не десятичное число).

Пример:

mkdir("my_directory",0755);

// создает подкаталог в текущем каталоге

mkdir("/data");

// создает подкаталог data в корневом каталоге

В случае успеха функция возвращает true, иначе - false.

rmdir

Удаление каталога.

Синтаксис:

bool rmdir(string $name)

Удаляет каталог с именем $name.

Каталог должен быть пустым, а его атрибуты должны позволять это.

В случае успеха функция возвращает true, иначе - false.

chdir

Смена текущего каталога.

Синтаксис:

int chdir(string $directory);

Изменяет текущий PHP каталог на directory. Возвращает FALSE если не может изменить, TRUE если смена произошла. Параметр $directory может определять и относительный путь, задающийся от текущего каталога.

Примеры:

chdir("/tmp/data"); // переходим по абсолютному пути