Работа с файлами в Joomla (Класс JFile)
Небольшая работа о работе с файлами средствами 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)