Phar::addFile

Add a file from the filesystem to the phar archive

Description

public void Phar::addFile(string $filename, stringnull $localName = null)

Note:

This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

With this method, any file or URL can be added to the phar archive. If the optional second parameter localName is a string, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile.

Parameters

filename

Full or relative path to a file on disk to be added to the phar archive.

localName

Path that the file will be stored in the archive.

Return Values

no return value, exception is thrown on failure.

Changelog

Version Description
8.0.0 localName is now nullable.

Examples

Example #1 A Phar::addFile example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFile('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // demonstrate URL usage
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // handle errors here
}
?>

Notes

Note: Phar::addFile, Phar::addFromString and Phar::offsetSet save a new phar archive each time they are called. If performance is a concern, Phar::buildFromDirectory or Phar::buildFromIterator should be used instead.

See Also

  • Phar::offsetSet
  • PharData::addFile
  • Phar::addFromString
  • Phar::addEmptyDir