9.1 API de flôts les auteurs d'extensions
9 PHP API: Interface pour les extensions
Manuel PHP
. Présentation ->Eléments de bases . Les flôts qui sont des ressources . Référence des API communes de flôts . Streams Dir API Reference . API des flôts pour les fichiers . Streams Socket API Reference . Streams Structures . Constantes de flôts
|
9.1.2 Eléments de bases
Utiliser les flôts ressemble énormément à l'utilisation des fonctions
d'entrée/sortie standard ANSI streams. La principale différence est que
vous devez créer le pointeur de flôt d'abord. Dans la plupart des
cas, vous utiliserez la fonction
php_stream_open_wrapper
pour l'obtenir. Cette fonction ressemble à fopen(),
comme le montre l'exemple ci-dessous :
Exemple de flôt qui affiche la page de PHP.net |
php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL); if (stream) { while(!php_stream_eof(stream)) { char buf[1024]; if (php_stream_gets(stream, buf, sizeof(buf))) { printf(buf); } else { break; } } php_stream_close(stream); }
|
La table ci-dessous montre les fonctions de flôts équivalentes aux fonctions
ANSI. Sauf indication contraire, les fonctionnalités sont les mêmes.
Fonction ANSI |
Fonction Flôt PHP |
Notes |
fopen |
php_stream_open_wrapper |
Les flôts incluent des paramètres supplémentaires |
fclose |
php_stream_close |
|
fgets |
php_stream_gets |
|
fread |
php_stream_read |
Le paramètre nmemb est suppos avoir la valeur 1 : le prototype ressemble plutôt à read(2) |
fwrite |
php_stream_write |
Le paramètre nmemb est suppos avoir la valeur 1 : le prototype ressemble plutôt à write(2) |
fseek |
php_stream_seek |
|
ftell |
php_stream_tell |
|
rewind |
php_stream_rewind |
|
feof |
php_stream_eof |
|
fgetc |
php_stream_getc |
|
fputc |
php_stream_putc |
|
fflush |
php_stream_flush |
|
puts |
php_stream_puts |
Identique à puts, et non pas à fputs |
fstat |
php_stream_stat |
Les informations des flôts sont plus riches |
|