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

3 Работа с файлами

Открытие файлаfopen

Возвращает идентификатор открытого файла.

resource fopen (string filename, string mode)

filename – имя файла или URL

mode – режим открытия, принимает значения:

r – файл открывается для чтения; указатель устанавливается на начало файла; если файл не существует, функция возвращает false.

r+ – файл открывается для чтения и для записи; указатель устанавливается на начало файла; если файл не существует, функция возвращает false.

w – создается пустой файл для записи; если файл с указанным именем существует, он будет перезаписан.

w+ – файл открывается для чтения и для записи; если файл не существует, он будет создан; если файл существует, он будет перезаписан; указатель устанавливается на начало файла.

a – файл открывается для записи; указатель устанавливается на конец файла; если файл не существует, функция возвращает false.

a+ – файл открывается в режиме чтения и записи; указатель устанавливается на конец файла; если файл не существует, он будет создан.

После любого из вышеперечисленных режимов может следовать модификатор b или t. Модификатор b означает, что файл открывается в бинарном режиме, t – в текстовом. Если модификатор не указан, используется бинарный режим.

Пример5 Примеры использования fopen

<?php

$handle = fopen("/home/rasmus/file.txt", "r");

$handle = fopen("/home/rasmus/file.gif", "wb");

$handle = fopen("http://www.example.com/", "r");

$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");

?>

Изменение позиции чтения записи открытого файла – fseek.

int fseek (resource handle, int offset [, int whence])

handle – идентификатор файла, открытого с помощью fopen.

offset – смещение в байтах.

whence – позиция, от которой отсчитывается смещение (в байтах) может принимать значения:

SEEK_SET – с начала файла;

SEEK_CUR – с текущей позиции;

SEEK_END – с конца файла.

Если параметр whence не указан используется значение SEEK_SET.

При успешном вызове, функция возвращает 0, если не удалось установить позицию, возвращает –1.

Пример 6 Использование fseek

<?php

$fp = fopen('somefile.txt', 'r');

// Читаем данные

$data = fgets($fp, 4096);

// Возвращаемся к началу файла

fseek($fp, 0);

fclose($fp);

?>

Чтение бинарного файла – fread.

string fread (resource handle, int length)

Читает не больше length байт из файла, на который указывает handle. Чтение прекращается, если прочитано length байт или достигнут конец файла. Возвращает строку с прочитанными данными или false в случае ошибки.

Пример 7 Чтение в строку файла с удаленной машине

<?php

$handle = fopen("http://www.example.com/", "rb");

$contents = '';

while (!feof($handle)) {

// добавляем к строке очередную часть файла

$contents .= fread($handle, 8192);

}

fclose($handle);

?>

Запись в бинарный файл – fwrite.

int fwrite (resource handle, string str [, int length])

Записывает содержимое строки str в файл, на который указывает handle. Если указан третий аргумент, запись прекращается, когда в файл записано length байт или достигнут конец строки. Функция возвращает количество записанных байт или false в случае ошибки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]