8.38 Système de fichiers
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Voir aussi . basename . chgrp . chmod . chown . clearstatcache . copy . delete . dirname . disk_free_space . disk_total_space . diskfreespace . fclose . feof . fflush . fgetc . fgetcsv . fgets . fgetss . file_exists . file_get_contents . file_put_contents . file . fileatime . filectime . filegroup . fileinode . filemtime . fileowner . fileperms . filesize . filetype . flock . fnmatch . fopen . fpassthru . fputcsv . fputs . fread . fscanf . fseek . fstat . ftell . ftruncate . fwrite . glob . is_dir . is_executable . is_file . is_link . is_readable . is_uploaded_file . is_writable . is_writeable . link . linkinfo . lstat . mkdir . move_uploaded_file . parse_ini_file . pathinfo . pclose ->popen . readfile . readlink . realpath . rename . rewind . rmdir . set_file_buffer . stat . symlink . tempnam . tmpfile . touch . umask . unlink
|
8.38.69 popen()Crée un processus de pointeur de fichier[ Exemples avec popen ] PHP 3, PHP 4, PHP 5
resource
popen (
string
command
,
string
mode
)
popen
ouvre un processus fils
en faisant un fork de la commande
command
.
popen
retourne un pointeur de fichier
identique à celui retourné par
fopen
,
hormis le fait qu'il sera unidirectionnel (lecture seule, ou
écriture seule), et doit être terminé par
pclose
. Ce pointeur peut être utilisé
avec
fgets
,
fgetss
et
fputs
.
Si une erreur survient, retourne
FALSE
.
| Exemple avec popen |
<?php $handle = popen ("/bin/ls", "r"); ?>
|
| Note | |
Si la commande à exécuter n'a pu être trouvée, une ressource
valide sera retournée. Cela semble étrange, mais c'est pratique.
cela vous permet d'accéder aux messages d'erreur qui ont été
retournés par le Shell :
| Lire des messages d'erreurs avec popen |
<?php error_reporting(E_ALL);
/* Ajoute une redirection pour que vous puissiez lire stderr */ $handle = popen('/chemin/vers/spooge 2>&1', 'r'); echo "'$handle'; " . gettype($handle) . "\n"; $read = fread($handle, 2096); echo $read; pclose($handle); ?>
|
|
| Note | |
Lorsque le
safe mode est activé, vous pouvez
uniquement exécuter des programmes qui se situent dans le dossier défini par
safe_mode_exec_dir .
Pour des raisons pratiques, il n'est actuellement pas permis d''avoir
le composant
..
dans le chemin de l'exécutable.
|
| Attention | |
Lorsque le safe mode est activé, la chaîne de commande
est echappée avec la fonction
escapeshellcmd
.
Par exemple,
echo y | echo x
devient
echo y \| echo x
.
|
Voir aussi
pclose
,
fopen
et
proc_open
.
|