Функции php для работы с файловой системой

Главная / Разработка / php / Функции php для работы с файловой системой
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
ПараметрОписание
$filenameУказывать обязательно. Закрепляет ресурс, указанный в аргументе filename, за потоком.
$modeУказывать обязательно. Тип/метод доступа к файлу/потоку. Варианты :
  1. 'r' - только чтение, указатель в начало файла/потока;
  2. 'r+' - чтение/запись, указатель в начало файла;
  3. 'w' - только на запись, открывает и очищает содержимое файла (или создает новый файл, если он не существует). указатель в начало файла;
  4. 'w+' - чтение/запись, открывает и очищает содержимое файла (или создает новый файл, если он не существует). указатель в начало файла;
  5. 'a' - только на запись, открывает (или создает новый файл, если он не существует). указатель в конец файла;
  6. 'a+' - чтение/запись, открывает (или создает новый файл, если он не существует). указатель в конец файла;
  7. 'x' - только на запись. создает новый файл, если он существует вернёт FALSE и выдаст ошибку. указатель в начало файла;
  8. 'x+' - чтение/запись. создает новый файл, если он существует вернёт FALSE и выдаст ошибку. указатель в начало файла;
$use_include_pathУказывать не бязательно. Set this parameter to '1' if you want to search for the file in the include_path (in php.ini) as well
$contextУказывать не обязательно. Specifies the context of the file handle. Context is a set of options that can modify the behavior of a stream

Создание файла

http://php.net/ manual/ru/ function.fopen.php

<?php

$fp = fopen('ihdex','w',TRUE); // Открытие файла (ihdex) только для записи, указатель помещается в начало файла и обрезает файл до нулевой длины. Если файл не существует - пробует его создать;

$fp = fopen('ihdex','w+',TRUE); // Открытие файла (ihdex) для чтения и записи, указатель помещается в начало файла и обрезает файл до нулевой длины. Если файл не существует - пробует его создать;

$fp = fopen('ihdex','a',TRUE); // Открытие файла (ihdex) только для записи, указатель помещается в конец файла. Если файл не существует - пробует его создать;

$fp = fopen('ihdex','a+',TRUE); // Открытие файла (ihdex) для чтения и записи, указатель помещается в конец файла. Если файл не существует - пробует его создать;

$fp = fopen('ihdex','x',TRUE); // Создаёт и открывает файл (ihdex) только для записи, указатель помещается в начало файла. Если файл уже существует, вызов fopen() закончится неудачей (вернёт FALSE и выдаст ошибку уровня E_WARNING). Если файл не существует - пробует его создать;

$fp = fopen('ihdex','x+',TRUE); // Создаёт и открывает файл (ihdex) для чтения и записи, указатель помещается в начало файла. Если файл уже существует, вызов fopen() закончится неудачей (вернёт FALSE и выдаст ошибку уровня E_WARNING). Если файл не существует - пробует его создать;

$fp = fopen('ihdex','c',TRUE); // Открытие файла (ihdex) только для записи, указатель помещается в начало файла. Если файл не существует, то он создается. Если же файл существует, то он не обрезается (в отличии от $fp = fopen('ihdex','w');), и вызов к этой функции не вызывает ошибку (также как и в случае с $fp = fopen('ihdex','x');). Это полезно при необходимости заблокировать файл перед изменением, так как использование $fp = fopen('ihdex','w') может обрезать файл еще до того как получена блокировка.

$fp = fopen('ihdex','c',TRUE); // Открытие файла (ihdex) для чтения и записи, указатель помещается в начало файла. Если файл не существует, то он создается. Если же файл существует, то он не обрезается (в отличии от $fp = fopen('ihdex','w');), и вызов к этой функции не вызывает ошибку (также как и в случае с $fp = fopen('ihdex','x');). Это полезно при необходимости заблокировать файл перед изменением, так как использование $fp = fopen('ihdex','w') может обрезать файл еще до того как получена блокировка.

?>

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

<?php

$fp = fopen('ihdex','r',TRUE); // Открытие файла только для чтения, указатель помещается в начало файла;

$fp = fopen('ihdex','r+',TRUE); // Открытие файла для чтения и записи, указатель помещается в начало файла;

?>

Изменение файла