Методы
-
convert
Изменяет кодировку текстового файла.
-
copy
Копирует файл или содержимое директории.
-
create
Создает указанную директорию либо директорию для указанного файла.
-
delete
Удаляет файл или директорию.
-
extension
Возвращает расширение имени файла.
-
formatSize
Возвращает отформатированное значение размера файла.
-
getMimeType
Определяет MIME-тип файла по его имени.
-
listdir
Возвращает список файлов и поддиректорий в указанной директории.
-
move
Перемещает файл или директорию в указанную директорию.
-
readFile
Считывает содержимое файла.
-
upload
Загружает файл с указанного URL в директорию.
-
write
Записывает содержимое в файл.
public static function convert ($file, $from, $to = 'UTF-8', $target = null)
Изменяет кодировку текстового файла.
Параметры
-
$file
Путь к файлу.
-
$from
Исходная кодировка.
-
$to
Требуемая кодировка.
-
$target
Путь, по которому нужно сохранить перекодированный файл. Если пусть не указан, то перекодированный файл создается в той же директории, к его имени добавляется символ подчеркивания и название кодировки, указанной в параметре
$to
.
Возвращаемое значение
Значение параметра $target
, указанное при вызове метода, либо сформированный автоматически путь к конвертированному файлу.
Пример
$target_path = waFiles::convert($file_path, 'CP1251');
public static function copy ($source_path, $target_path, $skip_pattern = null)
Копирует файл или содержимое директории.
Параметры
-
$source_path
Путь к исходному файлу или директории. Если указан путь к директории, то будет создана копия этой директории с содержащимися в ней файлами и поддиректориями. Поддиректории копируются рекурсивно.
-
$target_path
Путь, по которому должна быть сохранена копия указанного файла либо директории.
-
$skip_pattern
Строка с регулярным выражением, описывающим формат имен файлов и поддиректорий, которые не должны копироваться, если в качестве параметра
$source_path
указан путь к директории (в противном случае регулярное выражение будет проигнорировано).
Пример
//будет скопировано содержимое директории 'wa-log' в директорию 'wa-log-temp', кроме файлов и поддиректорий, имена которых содержат фрагмент 'installer' waFiles::copy('wa-log', 'wa-log-temp', '/installer/')
public static function create ($path, $is_dir = false)
Создает указанную директорию либо директорию для указанного файла.
Параметры
-
$path
Путь к директории или файлу.
-
$is_dir
Флаг, явно обозначающий, что в параметре
$path
указан путь к директории. По умолчанию (false
) метод пытается автоматически определить, путь к чему указан в$path
: к файлу или директории.
Пример
//несмотря на точку в имени директории, //которая по умолчанию указывала бы на то, что передан путь к файлу, //т. к. точка обычно отделяет основное имя файла от расширения, //параметр $id_dir = true явно "говорит", что речь идет именно о директории waFiles::create(wa()->getConfig()->getPath('cache').'/some.folder', true);
public static function delete ($path, $ignore_dir_errors = false)
Удаляет файл или директорию. Содержимое директории вместе с поддиректориями удаляется рекурсивно.
Параметры
-
$path
Путь к файлу или директории.
-
$ignore_dir_errors
Флаг, обозначающий необходимость игнорировать ошибки при попытке удаления директорий. По умолчанию (
false
) такие ошибки не игнорируются — генерируется исключение.
Пример
waFiles::delete('wa-test');
public static function extension($file)
Возвращает расширение имени файла.
Параметры
-
$file
Имя файла.
Пример
waFiles::extension('robots.txt');
Результат
'txt'
public static function formatSize ($file_size, $format = '%0.2f', $dimensions = 'Bytes,KBytes,MBytes,GBytes')
Возвращает отформатированное значение размера файла.
Параметры
-
$file_size
Числовое значение размера в байтах.
-
$format
Обозначение формата для отображения числового значения, поддерживаемое функцией
sprintf
. -
$dimensions
Строка со списком единиц измерения размера файла, разделенных запятой.
Пример
waFiles::formatSize(1000000, '%0.2f', 'Б,кБ,МБ,ГБ');
Результат
'0,95 МБ'
public static function getMimeType ($filename)
Определяет MIME-тип файла по его имени.
Параметры
-
$filename
Имя файла.
Пример
waFiles::getMimeType('index.php');
Результат
'text/html'
public static function listdir ($dir, $recursive = false)
Возвращает список файлов и поддиректорий в указанной директории.
Параметры
-
$dir
Путь директории.
-
$recursive
Флаг, обозначающий необходимость получения содержимого вложенных поддиректорий. По умолчанию (
false
) содержимое поддиректорий не возвращается. При указании значенияtrue
метод возвращает только список файлов, без имен поддиректорий.
Пример
waFiles::listdir('wa-config/apps');
Результат
[ 0 => 'contacts', 1 => 'shop', 2 => 'site', 3 => 'mailer', 4 => 'helpdesk', 5 => 'photos', 6 => 'webasyst', 7 => 'stickies', 8 => 'checklists', 9 => 'blog', ]
Пример
waFiles::listdir('wa-config/apps', true);
Результат
[ 0 => 'contacts/person_fields_order.php', 1 => 'contacts/config.php', 2 => 'contacts/custom_fields.php', 3 => 'site/domains/yourdomain.php', 4 => 'mailer/plugins.php', 5 => 'helpdesk/workflows.php', 6 => 'helpdesk/graph.php', 7 => 'photos/plugins.php', 8 => 'photos/config.php', 9 => 'blog/plugins.php', ]
public static function move ($source_path, $target_path)
Перемещает файл или директорию в указанную директорию.
Параметры
-
$source_path
Путь к копируемому файлу или директории.
-
$target_path
Путь, по которому должен быть доступен файл или директория после перемещения.
Пример
$source = wa('myapp')->getAppPath('lib/config/data/.htaccess'); $target = wa('myapp')->getDataPath(null, true, 'images/.htaccess'); waFiles::move($source, $target);
public static function readFile ($file, $attach = null, $exit = true, $md5 = false)
Считывает содержимое файла и направляет вывод в браузер пользователя.
Параметры
-
$file
Путь к файлу.
-
$attach
Имя, которое будет предлагаться пользователю для сохранения файла на своем компьютере. Если не указано, браузер автоматически сформирует имя для сохраняемого файла.
-
$exit
Флаг, обозначающий необходимость отправки заголовков, связанных с передачей содержимого файла в браузер пользователя. По умолчанию (
true
) заголовки отправляются. -
$md5
Флаг, обозначающий необходимость отправки заголовка
Content-MD5
. По умолчанию (false
) этот заголовок не отправляется.
Пример
$path = wa('myapp')->getAppPath('lib/config/data/sample.zip'); waFiles::readFile($path);
public static function upload ($url, $path)
Загружает файл с указанного URL в директорию.
Параметры
-
$url
URL, с которого необходимо получить файл.
-
$path
Путь, по которому полученный файл должен быть сохранен.
Пример
$url = 'http://somedomain.ru/archive.zip'; $path = wa()->getDataPath('files/pricelist.zip', true, 'myapp'); waFiles::upload($url, $path);
public static function write ($path, $content)
Записывает содержимое в файл.
Параметры
-
$path
Путь, по которому должен быть сохранен файл. Если такой файл существует, он будет перезаписан.
-
$content
Содержимое, которое необходимо записать в файл.
Пример
$path = wa()->getDataPath('user/01.txt', false, 'myapp'); $content = 'some text'; waFiles::write($path, $content);