Présentation
<<<
Eléments de bases Les flux qui sont des ressources
>>>

10.1 API de flux les auteurs d'extensions
10 API PHP : Interface pour les extensions
 Manuel PHP

Présentation
->Eléments de bases
Les flux qui sont des ressources
Référence des API communes de flux
Streams Dir API Reference
API des flux pour les fichiers
Références des flux socket
Streams Structures
Constantes de flux

10.1.2 Eléments de bases

Utiliser les flux 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 flux 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 flux qui affiche la page de www.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 flux équivalentes aux fonctions ANSI. Sauf indication contraire, les fonctionnalités sont les mêmes.
Fonction ANSI Fonction Flux PHP Notes
fopen php_stream_open_wrapper Les flux 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 flux sont plus riches

<< Eléments de bases >>
Présentation API de flux les auteurs d'extensions Les flux qui sont des ressources