В 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.
Получайте новые статьи блога прямо себе на почту
Очень позновательно. Нужно почитать ваши предыдущие уроки.
Ждем продолжения
Спасибо, хорошо все расписано.
Только поправьте пожалуйста:
> функции fclose, dirname, file, fwrite, rename, unlink, opendir и readdir не подсветились розовым
> «Получив строку, содержащую путь У файлу…»