Рекурсивно пройтись по всем файлам в директории

<?php
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/tmp')) as $file)
	print_r($file);

Получить расширение файла

<?php
$ext = pathinfo($filename, PATHINFO_EXTENSION);

Получить группу файла

<?php
$t = posix_getgrgid(filegroup('/etc/passwd'));
echo $t['name'];
root

Посмотреть права на файл

<?php
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
0644

Получить имя файла из пути

<?php
echo basename("~/prj/lib/bu.defun/load.php")."\n";
echo basename("~/prj/lib/bu.defun/load.php", '.php')."\n";
load.php
load

Проверить: является ли файл картинкой

<?php
function is_image($pth){
        return (bool)@getimagesize($pth);
}
echo (int)is_image('test.rb');
echo (int)is_image('test.jpg');
01

Получение времени в секундах с момента последнего изменения файла

function get_file_age($pth){
  return time() - filemtime($pth);
}
-----------
-----------