Phar::addFile

Add a file from the filesystem to the phar archive

&reftitle.description; public `void` `Phar::addFile` `string` `filename` ``string``null```localName`&null; &phar.write;

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`.

&reftitle.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.

&reftitle.returnvalues;

no return value, exception is thrown on failure.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `localName` is now nullable.

&reftitle.examples;

### 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
    }
    ?>

&reftitle.notes; &phar.note.performance;
&reftitle.seealso;

- `Phar::offsetSet`
- `PharData::addFile`
- `Phar::addFromString`
- `Phar::addEmptyDir`