Flux Flashcards
La classe php_user_filter
Les fils de cette classe sont passés à la fonction stream_filter_register().
public int php_user_filter::filter ( resource $in , resource $out , int &$consumed , bool $closing )
Cette méthode est appelée lorsque les données sont lues depuis le flux attaché, ou écrites sur le flux attaché (lors de l’utilisation de la fonction fread() ou la fonction fwrite()).
public void php_user_filter::onClose ( void )
Cette méthode est appelée lors de la fermeture du filtre (typiquement, c’est aussi le cas lors de la fermeture du flux), et est exécutée après l’appel à la méthode flush. Si des ressources avaient été allouées ou initialisées pendant onCreate(), c’est alors le moment de les détruire ou de les rendre à disposition.
public bool php_user_filter::onCreate ( void )
Cette méthode est appelée lors de l’instanciation de l’objet de la classe de filtrage. Si votre filtre alloue ou initialise d’autres ressources (comme un buffer), c’est la place pour le faire.
Lorsque votre filtre est instancié et que yourfilter->onCreate() est appelé, un nombre de propriétés sera disponible comme montré dans la table ci-dessous.
Propriétés Contenus
FilterClass->filtername Une chaîne contenant le nom utilisé pour instancier le filtre. Les filtres peuvent être enregistrés sous plusieurs noms ou avec des jokers. Utilisez cette propriété pour déterminer quel est le nom qui a été utilisé.
FilterClass->params Le contenu du pramètre params passé à la fonction stream_filter_append() ou la fonction stream_filter_prepend().
FilterClass->stream La ressource du flux à filtrer. Ne peut être disponible que lors de l’appel à la méthode filter() lorsque le paramètre closing est défini à FALSE.
La classe streamWrapper
Permet la création de gestionnaires de protocoles et de flux, à utiliser avec toutes les fonctions système, telles que fopen(), fread() etc.).
Note: Cette classe n'est pas une classe concrète : c'est juste un prototype d'une classe qui définirait son propre protocole. Note: Implémenter les méthodes d'une manière qui n'est pas décrite dans la documentation peut mener à des comportements indéfinis.
Une instance de cette classe est initialisée aussitôt que les fonctions de flux tentent d’accéder à une ressource avec un protocole.
streamWrapper::__construct ( void )
Appelé à la création du gestionnaire de flux, juste avant streamWrapper::stream_open().
streamWrapper::__destruct ( void )
Appelé lors de la fermeture du gestionnaire de flux, tout de suite après l’appel à la méthode streamWrapper::stream_flush().
public bool streamWrapper::dir_closedir ( void )
Cette méthode est appelée en réponse à la fonction closedir().
Toutes les ressources qui étaient verrouillées ou allouées, durant l’ouverture et l’utilisation du flux de dossiers, doivent être libérées.
public bool streamWrapper::dir_opendir ( string $path , int $options )
Cette méthode est appelée en réponse à opendir().
public string streamWrapper::dir_readdir ( void )
Cette méthode est appelée en réponse à readdir().
public bool streamWrapper::dir_rewinddir ( void )
Cette méthode est appelée en réponse à rewinddir().
Doit remettre à zéro le curseur géré par streamWrapper::dir_readdir(). i.e.: le prochain appel à streamWrapper::dir_readdir() doit retourner le premier fichier du dossier retourné par streamWrapper::dir_opendir().
public bool streamWrapper::mkdir ( string $path , int $mode , int $options )
Cette méthode est appelée en réponse à mkdir().
Note: Afin d'appeler le bon message d'erreur, cette méthode ne doit pas être définie, si le gestionnaire ne supporte pas la création des dossiers.
public bool streamWrapper::rename ( string $path_from , string $path_to )
Cette méthode est appelée en réponse à rename().
Doit renommer le fichier path_from en path_to
Note: Afin d'appeler le bon message d'erreur, cette méthode ne doit pas être définie, si le gestionnaire ne supporte pas le renommage de fichiers.
public bool streamWrapper::rmdir ( string $path , int $options )
Cette méthode est appelée en réponse à rmdir().
Note: Afin d'appeler le bon message d'erreur, cette méthode ne doit pas être définie, si le gestionnaire ne supporte pas la suppression des dossiers.
public resource streamWrapper::stream_cast ( int $cast_as )
Lit la ressource sous-jacente de flux.Cette méthode est appelée en réponse à stream_select().
public void streamWrapper::stream_close ( void )
Ferme une ressource de flux. Cette méthode est appelée en réponse à fclose().
Toutes les ressources qui étaient verrouillées, ou allouées par le gestionnaire doivent être libérées.
public bool streamWrapper::stream_eof ( void )
Tests for end-of-file on a file pointer.Cette méthode est appelée en réponse à feof().
public bool streamWrapper::stream_flush ( void )
Expédie le contenu. Cette méthode est appelée en réponse à fflush().
Si vous avez mis des données en cache dans votre flux, mais que vous ne les avez pas stocké, vous devez le faire maintenant.
public bool streamWrapper::stream_lock ( int $operation )
Verrouillage logique de fichiers.Cette méthode est appelée en réponse à flock(), parfois avec file_put_contents() (si l’option flags contient LOCK_EX), stream_set_blocking() et quand on ferme le flux (LOCK_UN).
public bool streamWrapper::stream_metadata ( string $path , int $option , mixed $value )
Change les options du flux. Cette méthode est appelée pour changer les métadonnées du flux. Elle est invoquée lorsque l’une des fonctions suivantes est appelée sur un flux:
touch()
chmod()
chown()
chgrp()
Veuillez noter que certaines de ces opérations peuvent ne pas être disponibles sur votre système.
Note: Cette fonction est disponible depuis PHP 5.4.0.
public bool streamWrapper::stream_open ( string $path , string $mode , int $options , string &$opened_path )
Opens file or URL.Cette méthode est appelée immédiatement après l’initialisation du gestionnaire (par exemple, par fopen() et file_get_contents()).
public string streamWrapper::stream_read ( int $count )
Lit dans le flux. Cette méthode est appelée en réponse à fread() et fgets().
Note:
N’oubliez pas de modifier la position de lecture et écriture du nombre d’octets qui ont pu être lus.
public bool streamWrapper::stream_seek ( int $offset , int $whence = SEEK_SET )
Place le pointeur de flux à une position. Cette méthode est appelée en réponse à fseek().
La position de lecture/écriture doit être modifiée pour refléter la nouvelle position offset et whence.
public bool streamWrapper::stream_set_option ( int $option , int $arg1 , int $arg2 )
Change les options du flux.Cette méthode est appelée pour modifier les options du flux.
public array streamWrapper::stream_stat ( void )
Lit les informations sur une ressource de fichier.Cette méthode est appelée en réponse à fstat().
public int streamWrapper::stream_tell ( void )
Lit la position courante dans un flux.Cette méthode est appelée en réponse à ftell() pour déterminer la position courante.
public bool streamWrapper::stream_truncate ( int $new_size )
Tronque un flux.Répondra à une opération de tronquature effectuée au moyen de ftruncate().
public bool streamWrapper::stream_truncate ( int $new_size )
Tronque un flux.Répondra à une opération de tronquature effectuée au moyen de ftruncate().
public int streamWrapper::stream_write ( string $data )
Écrit dans un flux. Cette méthode est appelée en réponse à fwrite().
Note:
N’oubliez pas de mettre à jour la position courante dans le flux, du nombre d’octets qui ont pu être lu.
public bool streamWrapper::unlink ( string $path )
Efface un fichier. Cette méthode est appelé en réponse à unlink().
Note:
Afin que le message d’erreur approprié soit retourné, cette méthode doit NE PAS être définie, si le flux ne supporte pas l’effacement de fichiers.
public array streamWrapper::url_stat ( string $path , int $flags )
Lit les informations sur un fichier. Cette méthode est appelée en réponse à toutes les fonctions liées à stat(), telles que : chmod() (uniquement quand safe_mode est activé) copy() fileperms() fileinode() filesize() fileowner() filegroup() fileatime() filemtime() filectime() filetype() is_writable() is_readable() is_executable() is_file() is_dir() is_link() file_exists() lstat() stat() SplFileInfo::getPerms() SplFileInfo::getInode() SplFileInfo::getSize() SplFileInfo::getOwner() SplFileInfo::getGroup() SplFileInfo::getATime() SplFileInfo::getMTime() SplFileInfo::getCTime() SplFileInfo::getType() SplFileInfo::isWritable() SplFileInfo::isReadable() SplFileInfo::isExecutable() SplFileInfo::isFile() SplFileInfo::isDir() SplFileInfo::isLink() RecursiveDirectoryIterator::hasChildren()
public array streamWrapper::url_stat ( string $path , int $flags )
Lit les informations sur un fichier. Cette méthode est appelée en réponse à toutes les fonctions liées à stat(), telles que : chmod() (uniquement quand safe_mode est activé) copy() fileperms() fileinode() filesize() fileowner() filegroup() fileatime() filemtime() filectime() filetype() is_writable() is_readable() is_executable() is_file() is_dir() is_link() file_exists() lstat() stat() SplFileInfo::getPerms() SplFileInfo::getInode() SplFileInfo::getSize() SplFileInfo::getOwner() SplFileInfo::getGroup() SplFileInfo::getATime() SplFileInfo::getMTime() SplFileInfo::getCTime() SplFileInfo::getType() SplFileInfo::isWritable() SplFileInfo::isReadable() SplFileInfo::isExecutable() SplFileInfo::isFile() SplFileInfo::isDir() SplFileInfo::isLink() RecursiveDirectoryIterator::hasChildren()
set_socket_blocking()
Cette fonction est un alias de : stream_set_blocking()
Avertissement
Cet alias est devenu obsolète depuis PHP 5.3.0. Son utilisation est fortement déconseillée.
void stream_bucket_append ( resource $brigade , resource $bucket )
Ajoute un compartiment au corps
object stream_bucket_make_writeable ( resource $brigade )
Retourne un objet de compartiment depuis le corps pour des opérations sur celui-ci
object stream_bucket_new ( resource $stream , string $buffer )
Crée un nouveau compartiment pour l’utiliser sur le flux courant
void stream_bucket_prepend ( resource $brigade , resource $bucket )
Ajout initial d’un bucket dans une brigade.Cette fonction peut être appelée pour ajouter un bucket dans une bucket brigade. Elle est typiquement appelée depuis la méthode php_user_filter::filter().
resource stream_context_create ([ array $options [, array $params ]] )
Crée et retourne un contexte de flux, avec les paramètres fournis par options.
resource stream_context_get_default ([ array $options ] )
stream_context_get_default() retourne le contexte par défaut qui est utilisé avec les fonctions de fichiers comme fopen(), file_get_contents(), etc, lorsqu’elles sont utilisées sans paramètre de contexte. Les options du contexte par défaut peuvent être spécifiées optionnellement avec la même syntaxe que pour stream_context_create().
resource stream_context_get_default ([ array $options ] )
stream_context_get_default() retourne le contexte par défaut qui est utilisé avec les fonctions de fichiers comme fopen(), file_get_contents(), etc, lorsqu’elles sont utilisées sans paramètre de contexte. Les options du contexte par défaut peuvent être spécifiées optionnellement avec la même syntaxe que pour stream_context_create().
array stream_context_get_options ( resource $stream_or_context )
stream_context_get_options() retourne un tableau contenant la liste des options pour le flux ou le contexte stream_or_context.
array stream_context_get_params ( resource $stream_or_context )
stream_context_get_params() lit les paramètres du contexte ou du flux stream_or_context.
resource stream_context_set_default ( array $options )
Configure le contexte par défaut des flux qui sera utilisé à chaque fois qu’un fichier sera manipulé (fopen(), file_get_contents(), etc…) sans paramètre de contexte. Il utilise la même syntaxe que stream_context_create().
bool stream_context_set_option ( resource $stream_or_context , string $wrapper , string $option , mixed $value )
stream_context_set_option() définit une option pour le contexte spécifié. La valeur value est définie pour l’option pour le contexte wrapper.
bool stream_context_set_params ( resource $stream_or_context , array $params )
stream_context_set_params() définit les paramètres pour le contexte spécifié.
int stream_copy_to_stream ( resource $source , resource $dest [, int $maxlength = -1 [, int $offset = 0 ]] )
Fait une copie jusqu’à maxlength octets de données depuis la position courante du pointeur (ou depuis la position offset, si spécifié) dans le flux source vers le paramètre dest. Si maxlength n’est pas spécifié, tout le reste du flux source sera copié.
bool stream_encoding ( resource $stream [, string $encoding ] )
Définit le jeu de caractères pour l’encodage du flux
resource stream_filter_append ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )
stream_filter_append() ajoute le filtre filtername à la liste de filtres attachés au flux stream.
resource stream_filter_prepend ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )
stream_filter_prepend() ajoute le filtre filtername à la liste de filtres attachés au flux stream.
bool stream_filter_register ( string $filtername , string $classname )
stream_filter_register() vous permet d’implémenter votre propre filtre de flux, à utiliser avec les fonctions d’accès aux données externes (comme fopen(), fread(), etc.).
bool stream_filter_remove ( resource $stream_filter )
stream_filter_remove() retire un filtre d’un flux, précédemment ajouté avec stream_filter_prepend() ou stream_filter_append(). Toutes les données qui restent dans les buffer internes seront traitées par le filtre, avant que ce dernier ne soit supprimé.
string stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] )
Lit tout un flux dans une chaîne.stream_get_contents() est identique à file_get_contents(), sauf qu’elle opère sur un pointeur de fichier déjà ouvert et retourne le contenu restant, allant jusqu’à maxlength octets, dans une chaîne et commençant à la position offset.
array stream_get_filters ( void )
Liste les filtres enregistrés.
string stream_get_line ( resource $handle , int $length [, string $ending ] )
stream_get_line() lit une ligne dans la ressource handle.
La lecture se termine quand length octets ont été lus, quand la chaîne spécifiée par ending a été rencontrée (mais ne sera pas inclue dans la valeur retournée), ou si EOF survient : n’importe lequel des trois qui survient en premier.
Cette fonction est presque identique à fgets() hormis le fait qu’elle permet d’utiliser un délimiteur de ligne différent des caractères standards de \n, \r et \r\n, et ne retourne pas le délimiteur lui-même.
array stream_get_meta_data ( resource $stream )
Lit les en-têtes et données méta des flux.Retourne les informations disponibles sur le flux stream.
array stream_get_transports ( void )
Liste les gestionnaires de transports de sockets disponibles.
array stream_get_wrappers ( void )
stream_get_wrappers() lit la liste des gestionnaires de flux disponibles sur le système courant.
bool stream_is_local ( mixed $stream_or_url )
stream_is_local() vérifie si le flux ou l’URL stream_or_url est local au système ou non.
void stream_notification_callback ( int $notification_code , int $severity , string $message , int $message_code , int $bytes_transferred , int $bytes_max )
Une fonction de rappel de type callable, utilisée par le paramètre de contexte notification, appelé lors d’un événement.
Note:
Ce n’est pas une réelle fonction, uniquement un prototype de la façon dont la fonction doit être.
stream_register_wrapper()
Cette fonction est un alias de : stream_wrapper_register().
string stream_resolve_include_path ( string $filename )
Résout le nom de fichier filename en utilisant le chemin d’inclusion, en utilisant les mêmes règles que les fonctions fopen()/include.
int stream_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )
stream_select() accepte un tableau de flux et attend que l’un d’entre eux change de statut. Cette opération est équivalente à ce que fait la fonction socket_select(), hormis le fait qu’elle travaille sur un flux.
bool stream_set_blocking ( resource $stream , int $mode )
stream_set_blocking() configure le mode bloquant du flux stream.
Cette fonction fonctionne pour tous les flux qui supportent le mode non-bloquant (actuellement, les fichiers et les flux de sockets).
int stream_set_chunk_size ( resource $fp , int $chunk_size )
Change la taille du segment du flux.
int stream_set_read_buffer ( resource $stream , int $buffer )
Configure le buffer de lecture d’un flux. Equivalent à stream_set_write_buffer(), mais pour les opérations de lecture.
bool stream_set_timeout ( resource $stream , int $seconds [, int $microseconds = 0 ] )
stream_set_timeout() configure la durée d’expiration du flux stream, exprimé comme la durée de seconds secondes et microseconds microsecondes.
Lorsque le flux se termine, la clé ‘timed_out’ du tableau retourné par stream_get_meta_data() est définie à TRUE, cependant, aucune erreur ou alerte n’est générée.
int stream_set_write_buffer ( resource $stream , int $buffer )
stream_set_write_buffer() configure le buffer d’écriture du flux stream à la taille de buffer octets.
fwrite() est habituellement configurée avec un buffer de 8 ko. Cela signifie que si deux processus veulent écrire dans le même flux de sortie (par exemple, un fichier), ils font une pause tous les 8 ko pour laisser les autres écrire aussi.
resource stream_socket_accept ( resource $server_socket [, float $timeout = ini_get(“default_socket_timeout”) [, string &$peername ]] )
Accepte une connexion sur un socket créé précédemment avec stream_socket_server().
resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get(“default_socket_timeout”) [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )
Initie un flux ou une connexion datagramme avec la destination remote_socket. Le type de socket créé est déterminé par le transport spécifié avec le formatage URL suivant : transport://target. Pour un socket Internet, (AF_INET) comme TCP et UDP, la cible de remote_socket sera une adresse IP ou un nom d’hôte. Pour un socket Unix, la cible doit être un fichier de socket du système.
Note:
Le flux sera par défaut ouvert en mode bloquant. Vous pouvez le passer en mode non bloquant en utilisant la fonction stream_set_blocking().
mixed stream_socket_enable_crypto ( resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] )
Active ou non le chiffrement, pour un socket déjà connecté.
Une fois les paramètres de chiffrement définis, le chiffrement peut être activé et désactivé dynamiquement en passant TRUE ou FALSE dans le paramètre enable.
string stream_socket_get_name ( resource $handle , bool $want_peer )
stream_socket_get_name() retourne le nom du socket local ou distant pour la connexion handle.
array stream_socket_pair ( int $domain , int $type , int $protocol )
stream_socket_pair() crée une paire de sockets connectées et indissociables. Cette fonction est communément utilisée en IPC (InterProcess Communication).
string stream_socket_recvfrom ( resource $socket , int $length [, int $flags = 0 [, string &$address ]] )
stream_socket_recvfrom() accepte les données depuis un socket distant, jusqu’à un total de length octets.
int stream_socket_sendto ( resource $socket , string $data [, int $flags = 0 [, string $address ]] )
stream_socket_sendto() envoie les données data au socket socket.
resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context ]]]] )
stream_socket_server() crée un flux ou un datagramme sur le socket spécifié local_socket.
stream_socket_server() ne fait que créer un socket et, pour accepter des connexions, vous devez utiliser stream_socket_accept().
bool stream_socket_shutdown ( resource $stream , int $how )
Arrête (partiellement ou non) une connexion full-duplex.
bool stream_supports_lock ( resource $stream )
Indique si le flux supporte les verrous via la fonction flock().
bool stream_wrapper_register ( string $protocol , string $classname [, int $flags = 0 ] )
stream_wrapper_register() permet d’implémenter des gestionnaires de protocole et de flux, à utiliser avec toutes les autres fonctions de fichiers, comme fopen(), fread(), etc.
bool stream_wrapper_restore ( string $protocol )
Restaure le gestionnaire protocol précédemment supprimé avec stream_wrapper_unregister().
bool stream_wrapper_unregister ( string $protocol )
Supprime le gestionnaire d’URL avec le protocole protocol. Une fois que le gestionnaire est retiré, vous pouvez installer le vôtre, avec la fonction stream_wrapper_register() ou le réactiver plus tard avec stream_wrapper_restore().