Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
Поиск по сайту

TOP-10 программ
Symantec Norton Ghost 9.0
Partition Magic 8.0.2 Pro
Xilisoft 3GP Video Converter v3.1.7.0616b
Norton AntiVirus 2005
Антивирус Касперского Personal 5.0.303 beta 2
Xilisoft 3GP Video Converter v2.1.52.831b
RAR Password Cracker 4.12
ABBYY PDF Transformer v1.00.820
MP3 To Ringtone Gold v3.02
Mobtime Cell Phone Manager v5.3.1
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
 

   Интернет технологии -> PHP -> Полезные функции для работы с файловой системой


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

Brutus aka Осипов Алексей, coding.wp-club.net


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



 
Популярные книги

Ремонт и обслуживание компьютера дома

Подробнее

Практические работы по Excel на уроках информатики

Подробнее

Создание компьютерных игр без программирования (+CD)

Подробнее

 
 

 
Новости ИТ
07.10.2008  USB-монитор Mitsubishi WIDE LCD отнимает хлеб у стыковочных станций для ноутбуков
06.10.2008  NTT DoCoMo выпустит телефон с Android для Японии в 2009 году
06.10.2008  Runtu 3 -- новая версия российского Linux-дистрибутива
06.10.2008  Red Hat представила кластерную HPC-платформу на базе Linux
06.10.2008  ExtSQL -- СУБД на базе MySQL с учетом активности использования
06.10.2008  Анонсирован проект графического редактора Nathive для GNOME
06.10.2008  Brick - имя технология изготовления корпусов MacBook?
06.10.2008  Toshiba показала прототип долговечной батареи для ноутбука, которая заряжается на 90% за 10 минут
06.10.2008  AMD планирует начать выпуск GPU по нормам 40 нм в будущем году
06.10.2008  Creative представила многоканальные акустические системы Inspire T3200 и T6200 для игр, кино и музыки
06.10.2008  Mobile Broadband Share Dock: удобный комплект из маршрутизатора и 3G-модема
06.10.2008  Плата EX58-Extreme с мощной системой охлаждения возглавит линейку продуктов Gigabyte на новом чипсете
06.10.2008  ПО GPS-навигации iGo будет портировано на платформу Android
06.10.2008  Пополнение в семействе Lenovo IdeaPad
06.10.2008  Флэш-накопитель в виде фишек для игры в Маджонг стоит дорого... или дорогого стоит
06.10.2008  Домашний ПК HP TouchSmart IQ500
06.10.2008  «Скай Линк» организует on-line видеонаблюдение за ключевыми транспортными узлами в Рязани
06.10.2008  ASG7700 - новый мощный десктоп Acer экзотического вида уже в продаже
06.10.2008  Ученые нашли способ изготовления гибких солнечных батарей
06.10.2008  Новая версия сервера аутентификации компании ActivIdentity
 
Полезно

 
Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100