fopen
Открытие файлов в файловой системе сервера производится при помощи функции fopen:
int fopen(string filename, string mode [, int use_include_path])
Первый аргумент filename - имя файла или абсолютный путь к нему. Если абсолютный путь не указывается, то файл должен находится в текущем каталоге.
Второй аргумент mode говорит о том, для каких действий открывается файл и может принимать следующие значения:
r (Открыть файл только для чтения; после открытия указатель файла устанавливается в начало файла);
r+ (Открыть файл для чтения и записи; после открытия указатель файла устанавливается в начало файла);
w (Создать новый пустой файл только для записи; если файл с таким именем уже есть вся информация в нем уничтожается);
w+ (Создать новый пустой файл для чтения записи; если файл с таким именем уже есть вся информация в нем уничтожается);
a (Открыть файл для дозаписи; данные будут записываться в конец файла);
a+ (Открыть файл для дозаписи и чтения данных; данные будут записываться в конец файла);
b (Флаг, указывающий на работу (чтение и запись) с двоичным файлом; указывается только в Windows).
Третий необязательный аргумент use_include_path определяет должны ли искаться файлы в каталоге include_path. (Параметр include_path устанавливается в файле php.ini).
fpassthru
Содержимое открытого файла можно отобразить в браузере с помощью функции fpassthru:
int fpassthru (int file)
Аргумент file представляет собой дескриптор файла.
<?
$file = fopen("c:/www/html/pavlovo.jpg","rb");
if(!file)
{
echo("Ошибка открытия файла");
}
else
{
fpassthru($file);
}
?>
readfile
Для текстовых файлов существует еще одна функция отображения readfile:
readfile (string filename)
Обращаем ваше внимание на то, что в качестве аргумента эта функция принимает имя файла, а не его дескриптор:
<?
readfile ("file.txt");
?>
После того, как вы закончите работу с файлом его необходимо закрыть. Закрытие файлов осуществляется с помощью функции fclose:
int fclose (int file)
Аргумент file представляет собой дескриптор файла, который необходимо закрыть.
Прочитать строку из открытого файла можно с помощью функции fread:
string fread ( int file, int length )
Эта функция возвращает строку длиной length символов из файла с дескриптором file.
Пример (чтение из файла):
<?
$file = fopen("c:/www/html/file.txt","r");
if(!file)
{
echo("Ошибка открытия файла");
}
else
{
$buff = fread ($file,100);
print $buff;
}
?>
fgets
Для чтения из файла можно также пользоваться функцией fgets:
string fgets ( int file, int length)
Эта функция читает и возвращает строку длиной length - 1 байт. Чтение прекращается, когда достигнута новая строка или конец файла. При достижении конца файла функция возвращает пустую строку.
fgetss
Для чтения файла с удалением из него тегов HTML применяется функция fgetss:
string fgetss (int file, int length [, string allowable_tags])
Необязательный третий параметр allowable_tags может содержать строку со списком тегов, которые не должны быть отброшены, при этом теги в строке записываются через запятую.
copy
Копирование файлов осуществляется функцией copy:
int copy ( string file1, string file2)
Функция копирует файл с именем file1 в файл с именем file2. Если файл file2 на момент копирования существовал, то он перезаписывается.
Переименование файла производится с помощью функции rename:
int rename ( string old, string new)
Эта функция переименовывает файл с именем old в файл с именем new.
Функция rename не выполняет переименования файла, если его новое имя расположено в другой файловой системе.
unlink
Удаление файла осуществляется посредством функции unlink:
int unlink ( string filename)