(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
PharFileInfo::chmod — Fixe les bits de permission spécifiques aux fichiers
PharFileInfo::chmod() permet de fixer les bits d'exécution des fichiers, ainsi que ceux de lecture seule. Ceux d'écriture sont ignorés car fixés au démarrage par la variable INI phar.readonly. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour réussir si le fichier est au sein d'une archive Phar. Les fichiers au sein d'une archive PharData n'ont pas cette restriction.
Aucune valeur n'est retournée.
Exemple #1 Un exemple avec PharFileInfo::chmod()
<?php
// on s'assure que le phar n'existe pas
@unlink('nouveauphar.phar');
try {
$p = new Phar('nouveauphar.phar', 0, 'nouveauphar.phar');
$p['fichier.sh'] = '#!/usr/local/lib/php
<?php echo "salut"; ?>';
// met le bit d'exécution
$p['fichier.sh']->chmod(0555);
var_dump($p['fichier.sh']->isExecutable());
} catch (Exception $e) {
echo 'Ne peut pas créer/modifier le phar: ', $e;
}
?>
L'exemple ci-dessus va afficher :
bool(true)