Usando Arquivos Phar: o empacotador de fluxo phar

O empacotador de fluxo Phar suporta totalmente fopen() para leitura e gravação (não anexação), unlink(), stat(), fstat(), fseek(), rename() e operações de fluxo de diretório opendir(), rmdir() e mkdir().

A compactação de arquivos individuais e os metadados por arquivo também podem ser manipulados em um arquivo Phar usando contextos de fluxo:

<?php
$context
= stream_context_create(array('phar' =>
array(
'compress' => Phar::GZ)),
array(
'metadata' => array('user' => 'cellog')));
file_put_contents('phar://meu.phar/algumarquivo.php', 0, $context);
?>

O empacotador de fluxo phar não opera em arquivos remotos, e não pode operar em arquivos remotos, sendo, portanto, permitido mesmo quando as opções INI allow_url_fopen e allow_url_include estão desabilitadas.

Embora seja possível criar arquivos PHAR do zero usando apenas operações de fluxo, é melhor usar a funcionalidade incorporada à classe Phar. O empacotador de fluxo é mais adequado para operações somente leitura.