Корисні функції для роботи з файловою системою h2>
Ця
стаття фактично короткий довідник по функціях для роботи з файлами.
Описувані функції рідко хто використовує, але це не означає, що вони не приносять користі.
Навпаки, вони дуже навіть корисні ... Але вони описуються далеко не в кожному
підручнику з PHP. p>
file_exists p>
Функція
file_exists () перевіряє, чи існує файл у локальній файловій системі. Якщо
файл існує, то функція повертає істину, а якщо ні, то брехня. Приклад: p>
if
(! File_exists ( "somefile.php")) (echo "Файл не існує!;) P>
is_file p>
Ця
функия по суті робить ту ж роботу, що й file_exists, але вона більш надійна,
тому що перевіряє не тільки існування заданого файлу, але і файл чи це (раптом
дірректорія?), і чи можна проводити з ним операції запису/читання. Приклад: p>
if
(! Is_file ( "somefile.php")) (echo "Невірний файл, або
в нього не можна писати/читати ";) p>
else
(echo "Всі ok, це нормальний файл ";} p>
filesize p>
Як
можна здогадатися з назви, ця функція потрібна для визначення розміру файлу
(в локальній файловій системі). Вона повертає розмір файлу в байтах або
повертає FALSE, якщо виникла помилка. Приклад: p>
$ fsize =
filesize ( "somefile.txt "); p>
echo "Розмір файлу $ fsize"; p>
is_writeable p>
Ця
функція перевіряє, чи існує заданий файл і чи можна у нього писати.
Приклад: p>
if
(is_writeable ( "somefile.txt")) (echo "У цей файл можна
писати ";} p>
else
(echo "Файлу не існує, або в нього не можна писати ";} p>
is_readable p>
Ця
функція дозволяє переконатися, що файл доступний для читання (якщо він існує). p>
if
(is_readable ( "somefile.txt")) (echo "Цей файл доступний для
читання ";} p>
else
(echo "Файлу не існує, або його не можна прочитати з поточними
правами ";} p>
readfile p>
В
більшості скриптів, які я бачив, читання з файлу здійснювалося за допомогою
функції fgets або fread. При цьому потрібно було перед цим відкрити а після
закрити. Але є функція readfile, яка дозволяє заощадити пару
інструкцій. Вона читає вміст файлу і перенаправляє у стандартний потік
виводу (зазвичай браузер). Приклад: p>
readfile ( "somefile.txt "); p>
Всі
вміст файлу буде виведено в файлі. p>
basename p>
Функція
виділяє назва файлу з переданого їй повного шляху. Приклад: p>
$ filename =
basename ( "/ usr/brutus/file.txt "); p>
echo $ filename;// буде виведено "file.txt" p>
getlastmod p>
Функція
повертає дату останньої модифікації файлу, з якого ця функція
викликається. Приклад: p>
echo
"Останнє оновлення:". Date ( "dmY @ H: i: s", getlastmod ()
); p>
Робота
з каталогами p>
is_dir p>
Функція
перевіряє, чи є заданий файл каталогом. Синтаксис: p>
bool is_dir (string filename); p>
Повертає
TRUE якщо це каталог і FALSE якщо це файл p>
dirname p>
Ця
функція витягує шлях до повного імені файлу, подібно до функції basename.
Синтаксис: p>
string
dirname ($ string path); p>
opendir p>
Функція
відкриває заданий каталог та повертає його ідентифікатор для роботи з ним
подібно до функції fopen. Синтаксис: p>
int
opendir (string path); p>
closedir p>
Функція
закриває маніпулятор каталозі подібно до функції fclose. Синтаксис: p>
void closedir (int resource_handle); p>
readdir p>
Функція
повертає черговий елемент каталогу. Синтаксис: p>
string readdir (int
resource_handle); p>
Приклад: p>
$ dp = opendir ( 'somedir'); p>
while ($ file = readdir ($ dp)) ( p>
echo
$ file. " p>
"; p>
) p>
closedir ($ dp); p>
rewinddir p>
Функція
переводить покажчик поточної позиції в початок каталогу. Наприклад функція
readdir читатиме каталог з початку. Синтаксис: p>
void
rewinddir (int resource_handle); p>
chdir p>
Функція
здійснює перехід в заданий каталог. Синтаксис: p>
int chdir (string path); p>
mkdir p>
Функція
аналогічна одніменной команді Unix - вона створює каталог з заданим ім'ям.
Синтаксис: p>
int
mkdir (string path, int mode); p>
Mode
визначає дозволи, які будуть присвоєні каталогу після створення. p>
Опції
для роботи з правами файлу p>
Функції,
які будуть описані нижче, працюють тільки в UNIX like системах. p>
filegroup p>
Ця
функція повертає ідентифікатор групи-власника заданого файлу. Синтаксис: p>
int
filegroup (string filename); p>
fileperms p>
Функція
повертає дозволу (permissions) файлу або FALSE в разі помилки. Синтаксис: p>
int
fileperm (string filename); p>
fileowner p>
Функція
повертає ідентифікатор власника заданого файлу. Синтаксис: p>
int fileowner (string filename); p>
chgrp p>
Функція
намагається змінити групу-власника даного файлу. Синтаксис p>
int chgrp (string filename, mixed
group); p>
chmod p>
Функція
намагається змінити дозволи файлу. Синтаксис: p>
int chmod (string filename, int
permissions); p>
Зауваження:
параметр permissions повинен складатися з чотирьох цілих чисел, напрмер 0776. p>
chown p>
Функція
chown намагається змінити власника файлу. Синтаксис: p>
int chown (string filename, mixed
user); p>
stat p>
Ця
функція повертає масив з докладною інформацією про фото. Синтаксис: p>
array stat (string filename); p>
Елементи,
що повертаються функцією: p>
0
- Пристрій p>
1
- Індексний вузол (inode) p>
2
- Режим захисту індексного кута p>
3
- Кількість посилань p>
4
- Ідентифікатор власника p>
5
- ID групи власника p>
6
- Тип пристрою індексного вузла p>
7
- Розмір в байтах p>
8
- Час останнього звернення до файлу p>
9
- Час останньої модифікації файлу p>
10
- Час останньої зміни p>
11
- Розмір блоку під час виведення/введення до файлової системи p>
12
- Кількість виділених блоків p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://www.soch.imperium.by
p>