(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::addFile — Добавляет в phar-архив файл из файловой системы
Замечание:
Для корректной работы с объектами Phar этому методу необходима установка значения php.ini
phar.readonly
в0
. В противном случае, будет выброшено исключение PharException.
С помощью этого метода в phar-архив может быть добавлен любой
файл или содержимое, доступное по URL. Если указан необязательный
второй параметр localName
, то файл будет сохранён
в архиве с таким именем, в ином случае в качестве пути для сохранения
внутри архива будет использован параметр file
.
При добавлении содержимого, доступного по URL, параметр localname
должен быть указан, иначе будет выброшено исключение.
Этот метод аналогичен ZipArchive::addFile().
filename
Полный или относительный путь к файлу в файловой системе, который должен быть добавлен в phar-архив.
localName
Путь, по которому файл будет сохранён в архиве.
Нет возвращаемого значения, в случае возникновения ошибки выбрасывается исключение.
Версия | Описание |
---|---|
8.0.0 |
localName теперь допускает значение null.
|
Пример #1 Пример использования Phar::addFile()
<?php
try {
$a = new Phar('/путь/к/phar.phar');
$a->addFile('/полный/путь/к/файлу');
// показывает, как хранится этот файл
$b = $a['полный/путь/к/файлу']->getContent();
$a->addFile('/полный/путь/к/файлу', 'моя_папка/file.txt');
$c = $a['моя_папка/file.txt']->getContent();
// показывает использоваие URL
$a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
// обработка ошибок
}
?>
Замечание: Phar::addFile(), Phar::addFromString() и Phar::offsetSet() сохраняет новый phar-архив каждый раз при их вызове. Если производительность вызывает беспокойство, вместо этого следует использовать Phar::buildFromDirectory() или Phar::buildFromIterator().