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()