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

5093
знака
0
таблиц
0
изображений

Эта статья фактически краткий справочник по функциям для работы с файлами. Описываемые функции редко кто использует, но это не значит, что они бесполезны. Напротив, они очень даже полезны... Но они описываются далеко не в каждом учебнике по 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);

opendir

Функция открывает заданный каталог и возвращает его идентификатор для работы с ним подобно функции fopen. Синтаксис:

int opendir (string path);

closedir

Функция закрывает манипулятор каталога подобно функции fclose. Синтаксис:

void closedir (int resource_handle);

readdir

Функция возвращает очередной элемент каталога. Синтаксис:

string readdir (int resource_handle);

Пример:

$dp = opendir('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 - Количество выделенных бл


Информация о работе «Полезные функции для работы с файловой системой»
Раздел: Информатика, программирование
Количество знаков с пробелами: 5093
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
62688
1
3

... задачи: – изучены назначение и особенности использования файловых менеджеров; – рассмотрены особенности использования свободно-распространяемых программных средств; – рассмотрены основные возможности файлового менеджера Free Commander; – составлено описание порядка работы с файловым менеджером Free Commander; – разработана система заданий для обучения работе с файловым менеджером Free ...

Скачать
145783
2
7

... работы за компьютером, а также методы и средства, позволяющие свести к минимуму риск облучения при работе за компьютером. Заключение В данной работе был выполнен обзор средств безопасности, которыми располагает операционная система Linux для безопасного функционирования как в качестве пользовательской системы, так и в качестве сервера. В работе были рассмотрены следующие темы: ·     Обзор ...

Скачать
46324
4
2

... в FAR Manager. За последние годы изменилась потребность в подобных программах. Если раньше файловые менеджеры были, чуть ли не единственной возможностью удобно работать с операционной системой, то постепенно, благодаря стараниям Microsoft, большинству пользователей оказалось достаточно тех средств, которые доступны в Windows. Другая же часть пользователей, потребности которой продолжали ...

Скачать
10264
0
0

... время NTFS не имеет встроенного шифрования файлов. Следовательно, можно загрузить MS-DOS (или другую операционную систему) и воспользоваться низкоуровневой программой редактирования диска для просмотра хранящихся в томе NTFS данных. ·  С помощью файловой системы NTFS нельзя форматировать дискеты. Windows NT форматирует дискеты с помощью FAT, так как объем служебной информации, необходимой для ...

0 комментариев


Наверх