maddot.ru WEB-мастеру → Удобная работа с каталогами
dd
 
Рубрики
» Компьютеры
» Операционные системы
» Android
» Linux
» Windows
» Разное



» Все статьи (Списком)
Популярное
» Все заметки (Списком)
От Георгий 18:48 08.01
От Yuriy 23:27 28.09
От Айдар 10:48 04.02
От Роман 22:26 15.06
От Евгений 16:46 13.06
От Mike 00:01 23.04
От Сергей 18:15 11.02
От Надежда 10:51 24.05
От Надежда 10:42 24.05
От bakaut 17:33 14.02
От vlasmet 08:28 18.11
От Mike 11:51 17.05




Друзья
Хостинг Макхост
Качественный платный хостинг. Широкий спектр качественных хостинг услуг с 2004 года.
Ваш IP: 54.91.16.95
Вы на узле: 178.208.83.19
URL: maddot.ru
Время сервера: 2018-01-20T00:35:44+03:00

Удобная работа с каталогами

02 Апр 2014

В PHP имеется несколько инструментов, осуществляющих работу с директориями (папками). Наверняка вы уже сталкивались с задачей получить список файлов из каталога, например, если вы ведете какую-либо запись базы, используя текстовые или CSV файлы, а возможно, вам просто необходимо написать файловый менеджер. До PHP5 стандартной реализацией итерации по каталогам было следующее решение:


<?php
$dir 
opendir('./dir/') or die($php_errormsg);
while(
FALSE !== ($file readdir($dir))) {
    echo 
$file'<br />';
}
?>


Но в версии PHP5 появился более мощный и универсальный, объектно-ориентированный инструмент для работы с файловой системой – класс DirectoryIterator:


<?php
foreach(new DirectoryIterator('./dir') as $file) {
echo 
$file ->getPathname() . '<br />';
}
?>

Таким образом мы не только упрощаем написание кода, но и делаем его более наглядным. Если ваш сервер имеет поддержку PHP5, что сейчас является повсеместным явлением, то советую вам использовать именно такой подход.

Полезные методы класса:

isFile () проверяет, является ли объект файлом.
isDir ()  является ли объект папкой
isDot () полезный элемент — проверяет, не является ли объект . Или ..
getExtension () возвращает расширение файла
isReadable () , isWritable () соответственно проверяет возможность чтения/записи

Это основные методы, чаще всего используемые в реальных приложениях (скриптах). Приведу один пример для наглядности:

Допустим нам необходимо получить список всех элементов только папки dir

Обычный метод:


<?php
$dir 
opendir('./dir/') or die($php_errormsg);
while(
FALSE !== ($file readdir($dir))) {
    if(
'.' == $file && '..' == $file) continue;
        echo 
$file'<br />';
}
?>

С использованием класса DirectoryIterator:


<?php
foreach(new DirectoryIterator('./dir') as $file) {
    if(
TRUE == $file->isDot()) continue;
        echo 
$file ->getPathname() . '<br />';
}
?>

Гораздо лучше, не так ли?


ρ1610
Рубрика → WEB-мастеру
Метки: php каталоги


© При копировании материалов с нашего сайта - не забудь указать ссылку на оригинал. Спасибо.

Поделиться: BB-код

Удобная работа с каталогами



B s i

 




Счетчики 

Яндекс.Метрика