Полезные функции для работы с файловой системойЭта статья фактически краткий справочник по функциям для работы с файлами.Описываемые функции редко кто использует, но это не значит, что они бесполезны. Напротив, они очень даже полезны... Но они описываются далеко не в каждом учебнике по php. file_exists Функция file_exists() проверяет, существует ли файл в локальной файловой системе. Если файл существует, то функция возвращает истину, а если нет, то ложь. Пример: if (! file_exists("somefile.php") ) { echo "Файл не существует!; } is_file Эта функия по сути делает ту же работу, что и file_exists, но она более надежна, т.к. проверяет не только существование заданного файла, но и файл ли это (вдруг дирректория?), и можно ли производить с ним операции записи/чтения. Пример: if (! is_file("somefile.php") ) {echo "Это неправильный файл, либо в него нельзя писать/читать"; } else {echo "Все ok, это нормальный файл";} filesize Как можно догадаться из названия, эта функция нужна для определения размера файла (в локальной файловой системе). Она возвращает размер файла в байтах или возвращает false, если возникла ошибка. Пример: $fsize = filesize("somefile.txt"); echo "Размер файла $fsize"; is_writeable Эта функция проверяет, существует ли заданный файл и можно ли в него писать. Пример: if (is_writeable("somefile.txt") ) {echo "В этот файл можно писать";} else {echo "Файла не существует, либо в него нельзя писать";} is_readable Эта функция позволяет убедиться, что файл доступен для чтения (если он существует). if (is_readable("somefile.txt") ) {echo "Этот файл доступен для чтения";} else {echo "Файла не существует, либо его нельзя прочитать с текущими правами";} readfile В большинстве скриптов, которые я видел, чтение из файла осуществлялось с помощью функции fgets либо fread. При этом нужно было перед этим открыть а после закрыть. Но есть функция readfile, которая позволяет сэкономить пару инструкций. Она читает содержимое файла и перенаправляет в стандартный поток вывода (обычно браузер). Пример: readfile("somefile.txt"); Все содержимое файла будет выведено в файле. basename Функция выделяет имя файла из переданного ей полного пути. Пример: $filename = basename("/usr/brutus/file.txt"); echo $filename; //будет выведено "file.txt" getlastmod Функция возвращает дату последней модификации файла, из которого эта функция вызывается. Пример: echo "Последнее обновление: ".date("d.m.y @ h:i:s", getlastmod() ); Работа с каталогами is_dir Функция проверяет, является ли заданный файл каталогом. Синтаксис: bool is_dir (string filename); Возвращает true если это каталог и false если это файл dirname Эта функция извлекает путь до полного имени файла, подобно функции basename. Синтаксис: string dirname ($string path); op endir Функция открывает заданный каталог и возвращает его идентификатор для работы с ним подобно функции fopen. Синтаксис: int op endir (string path); closedir Функция закрывает манипулятор каталога подобно функции fclose. Синтаксис: void closedir (int resource_handle); readdir Функция возвращает очередной элемент каталога. Синтаксис: string readdir (int resource_handle); Пример: $dp = op endir('somedir'); while ($file = readdir($dp) ) { echo $file." "; } closedir($dp); rewinddir Функция переводит указатель текущей позиции в начало каталога. К примеру функция readdir будет читать каталог с начала. Синтаксис: void rewinddir (int resource_handle); chdir Функция осуществляет переход в заданный каталог. Синтаксис: int chdir(string path); mkdir Функция аналогична однименной команде unix - она создает каталог с заданным именем. Синтаксис: int mkdir (string path, int mode); mode определяет разрешения, которые будут присвоены каталогу после создания. Функции для работы с правами файла Функции, которые будут описаны ниже, работают только в unix like системах. filegroup Эта функция возвращает идентификатор группы-владельца заданного файла. Синтаксис: int filegroup (string filename); fileperms Функция возвращает разрешения (permissions) файла или false в случае ошибки. Синтаксис: int fileperm (string filename); fileowner Функция возвращает идентификатор владельца заданного файла. Синтаксис: int fileowner (string filename); chgrp Функция пытается сменить группу-владельца данного файла. Синтаксис int chgrp (string filename, mixed group); chmod Функция пытается изменить разрешения файла. Синтаксис: int chmod (string filename, int permissions); Замечание: параметр permissions должен состоять из четырех целых чисел, напрмер 0776. chown Функция chown пытается сменить владельца файла. Синтаксис: int chown (string filename, mixed user); stat Эта функция возвращает массив с подробной информацией о файле. Синтаксис: array stat (string filename); Элементы, возвращаемые функцией: 0 - Устройство 1 - Индексный узел (inode) 2 - Режим защиты индексного угла 3 - Количество ссылок 4 - Идентификатор владельца 5 - Идентификатор группы владельца 6 - Тип устройства индексного узла 7 - Размер в байтах 8 - Время последнего обращения к файлу 9 - Время последней модификации файла 10 - Время последнего изменения 11 - Размер блока при выводе/вводе в файловой системе 12 - Количество выделенных блоков Источник: i-faq.ru |
КОНТАКТЫ
г. Екатеринбург info@vismech.ru |
текущее: НОВОСТИ 05.12.2013 - Уход за флэш-накопителем 05.12.2013 - Компьютер самопроизвольно выключается 05.12.2013 - Почему не запускается компьютер? 27.11.2013 - Canon Legria HF R406 - Описание видеокамеры 27.11.2013 - TravelMate P645 новый лэптоп бизнес-класса от Acer |