Небольшая работа о работе с файлами средствами Joomla Framework

Для начала нам нужно подключить класс для работы с файлами через функцию jimport:

jimport( 'joomla.filesystem.file' );

Для кля класса JFile можно не создавать объект! Основные методы в классе JFile:

JFile::copy( $src, $dest, $path = NULL ,$use_streams = false );
 - копирует файл из пути указанного в переменной.

Параметры:
$src - имя файла
$dest - путь куда копировать
$path - путь откуда копировать
$use_streams- использовать ли поток

JFile::delete($file);
 - удаляет файл или файлы по указанному пути!

Если в параметре передать массив то будет выполненно удаление файлов указанных в массиве!

JFile::exists( 'путь_к_файлу' );
 - метод проверяет или указанный файл существует!

Если файл существует то вернетса true, если не существует то вернет false

JFile::getExt( 'путь_к_файлу');
 - возвращает расширение файла.
JFile::stripExt( 'путь_к_файлу');
 - возвращает имя файла без расширения.
JFile::getName( 'путь_к_файлу'); 
 - возвращает имя файла исключая путь к нему! Тоесть если будет передан путь components/com_test/images/menu.jpg то функция вернет menu.jpg
JFile::makeSafe( 'путь_к_файлу' );
 - делает имя файла безопасным для использования
JFile::move( $src, $dest );
 - перемещает файл из пути указанного в переменной $src, в файл который казан по пути $dest
JFile::stripExt( 'путь_к_файлу' );
 - удаляет из имени файла расширение.
JFile::upload( $src, $dest );
 - загружает файл из пути указанного в переменной $src, в файл который казан по пути $dest
JFile::write($file, &$buffer);
 - записывает данные в файл указаный в переменной $file данные указанные в переменной $buffer
JFile::read($filename,$incpath = false, $amount = 0, $chunksize = 8192, $offset = 0);
 - читает данные из файла.

Параметры:
- параметр string $filename - полный путь файла
- параметр boolean $incpath - использовать ли приданные (включенные) пути[ $incpath = false ]
- параметр integer $amount - размер для чтения[ $amount = 0 ]
- параметр integer $chunksize - чтение по кускам. Размеры кусков[ $chunksize = 8192 ]
- параметр integer $offset - смещение для чтения[ $offset = 0 ]

- возвращает mixed - возвращает содержимое файла или false



Путь к файлу определяется относительно корня файловой системы.
То есть используется константа. JPATH_BASE

Например:

//  выбираем список картинок из папки
        $img_folder_ =  'images/'. $params->get('img_folder').'/';
        $img_folder = JPATH_BASE . DS .  $img_folder_;
        //
        $files = JFolder::files($img_folder, '\.jpg|\.png|.gif$', true,false );

Читайте также: Работа с папками в Joomla (Класс JFolder)