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

2016-07-31СтудИзба

Описание файла

Документ из архива "Полезные функции для работы с файловой системой", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "45852"

Текст из документа "45852"

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

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

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.soch.imperium.by

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее