Utiliser les archives Phar : le flux phar
Le flux Phar supporte totalement fopen() pour les lectures/écritures (pas les concaténations), unlink(), stat(), fstat(), fseek(), rename() et le opérations de flux sur les répertoires opendir() et depuis la version 2.0.0, rmdir() et mkdir().
La compression et les métadonnées individuelles par fichier peuvent aussi être manipulées au sein de l'archive Phar en utilisant les contextes de flux :
<?php $context = stream_context_create(array('phar' => array('compress' => Phar::GZ)), array('metadata' => array('user' => 'cellog'))); file_put_contents('phar://mon.phar/unfichier.php', 0, $context); ?>
Le flux phar n'agit pas sur les fichiers distants et ne peut pas considérer les fichiers distants, etc... même si les options INI allow_url_fopen et allow_url_include sont désactivées.
Bien qu'il soit possible de créer des archives phar de zéro en utilisant juste les opérations sur les flux, il est préférable d'utiliser la fonctionnalité incluse dans la classe Phar. Le flux est mieux utilisé pour les opérations de lecture.