{lang: ‘ru’}

уроки php для начинающих, php работа с файлами, php запись в файл, php функции работы с файламиВ PHP предусмотрены функции работы с файлами и директориями. Как раз об этих функциях и пойдет речь.

Функция fopen необходима для того, чтобы открыть файл.

int fopen(string filename, string mode);

В случае возникновения ошибки, при открытии файла, функция возвратит false.
Параметр mode, указывает каким способом следует открыть файл. Его можно выбрать из следующего списка:
r‘ — только для чтения, указатель помещается в начало файла.
r+‘ — для чтения и для записи, указатель помещается в начало файла.
w‘ — только для записи, указатель помещается в начало файла и все содержимое файла очищается. В случае отсутствия файла, создается новый.
w+‘ — для чтения и для записи, указатель помещается в начало файла и все содержимое файла очищается. В случае отсутствия файла, создается новый.
a‘ — только для записи, указатель помещается в конец файла. В случае отсутствия файла, создается новый.
a+‘ — для чтения и для записи, указатель помещается в конец файла. В случае отсутствия файла, создается новый.
Если возникли какие-либо проблемы с чтением и записью в файл, помните, что используемые файлы и директории необходимо сделать доступными для серверных процессов (если использовать PHP, как серверный модуль)

Будьте осторожны в операционной системе Windows, используйте передние слеши в путях или избегайте обратных слешей.

$fp = fopen("c:\data\info.txt", "r");

Для закрытия файлов используйте функцию fclose.

int fclose(int fp);

Параметр fp — указатель на файл, который надо закрыть. Функция возвращает true при удачной операции и false в случае возникновения ошибки.

basename — возвращает из полного пути имя файла

string basename(string path);

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

$path = «/inetpub/wwwroot/index.php»;
$file = basename($path); // $file устанавливается в «index.php»

copy — скопировать файл

int copy(string source, string dest);

Создает копию файла. Возвращает true при успешном завершении; в противном случае — false.

dirname — путь к файлу

string dirname(string path);

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

feof — проверка на достижение указателем конца файла

int feof(int fp);

Возвращает true если указатель файла равен EOF или в случае ошибки; в противном случае возвращается false.

fgetc — получить символ из файла

string fgetc(int fp);

Возвращает строку, содержащую один символ, прочитанный по файловому указателю fp. При EOF возвращается false.

fgets — получить строку по указателю на файл

string fgets(int fp, int length);

Возвращает строку до length — читается по одному байту из файла, указанного в fp. Чтение заканчивается, если прочитано length символов — 1 байт прочитается в любом случае, или до символов перевода строки и возврата караетки, или до EOF. При ошибке возвращается false.

fgetss — получить строку по указателю файла и вырезать HTML тэги

string fgetss(int fp, int length);

file — прочитать файл в массив

array file(string filename);

Идентична readfile(), но file() выдает файл в массив. Каждый элемент массива соответствует строке файла (вместе с символом возврата строки).

file_exists — проверяет существование искомого файла.

int file_exists(string filename);

Возвращает true, если файл, определенный в filename, существует; иначе — false.

fileperms — разрешения для файла

int fileperms(string filename);

Возвращает разрешения, установленные для файла, или false в случае ошибки. .

filesize — размер файла

int filesize(string filename);

Возвращает размер файла или false в случае ошибки.

fpassthru — вывод всех данных из указателя файла

int fpassthru(int fp);

Читает до EOF по полученному указателю файла и записывает результат на стандартное устройство вывода. При возникновении ошибки fpassthru() возвращает false.

ftell — текущая позиция указателя в файле

int ftell(int fp);

Возвращает позицию указателя в файле, на который ссылaется fp, т.е. смещение в потоке файла. При возникновении ошибки возвращается false.

fwrite — бинарная запись в файл

int fwrite(int fp, string string, int [length]);

fwrite() записывает содержимое string в файловый поток, указанный fp. Если аргумент length присутствует, запись останавливается после записи length-го байта, или после записи всей строки string.

Еще одна функция is_dir

bool is_dir(string filename);

Возвращает true, если filename существует и это директория.

Похожая на предыдущую функцию, функция is_file

bool is_file(string filename);

Возвращает true, если filename существует и является обычным файлом.

mkdir — создать директорию

int mkdir(string pathname);

Пытается создать директорию, указанную в pathname. Возвращает true при успешном выполнении и false при ошибке.

rename — переименовать файл

int rename(string oldname, string newname);

Пытается переименовать oldname в newname. Возвращает true при успешном выполнениии и false при сбое.

Функция rewind позиционирует файловый указатель для fp на начало потока файла.

int rewind(int fp);

При возникновении ошибки возвращается 0.

rmdir — удалить директорию

int rmdir(string dirname);

Пытается удалить директорию, указанную путем. Директория лдолжна быть пустой, и релевантные разрешения должны допустить это. При возникновении ошибкт возвращается 0.

unlink — удалить файл

int unlink(string filename);

Удаляет filename. Возвращает 0 или FALSE при ошибке.

chdir — смена каталога

int chdir(string directory);

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

closedir — закрыть дескриптор каталога

void closedir(int dir_handle);

Закрывает поток каталога, обозначенный как dir_handle.

opendir — открыть дескриптор каталога

int opendir(string path);

Возвращает дескриптор каталога, который в последующем используется в closedir(), readdir(), и rewinddir() обращениях.

readdir — чтение данных из каталога по дескриптору(handle)

string readdir(int dir_handle);

Возвращает имя следующего файла из каталога. Имена возвращаются в любом специфическом порядке.

$handle=opendir('.');
while ($file = readdir($handle)) {
    echo "$filen";
}
closedir($handle);

rewinddir — возврат к началу данных каталога по дескриптору

void rewinddir(int dir_handle);

Сбрасывает поток каталога, обозначенный как dir_handle в начало данных.

С помощью вышеперечисленных функций осуществляется работа с файлами в PHP.



Получайте новые статьи блога прямо себе на почту