Services webmasters
Partenaires
Jeux concours gratuits
 
php_stream_copy_to_mem
<<<
php_stream_make_seekable php_stream_cast
>>>

9.1.4 Référence des API communes de flôts
9.1 API de flôts les auteurs d'extensions
9 PHP API: Interface pour les extensions
 Manuel PHP

php_stream_stat_path
php_stream_stat
php_stream_open_wrapper
php_stream_read
php_stream_write
php_stream_eof
php_stream_getc
php_stream_gets
php_stream_close
php_stream_flush
php_stream_seek
php_stream_tell
php_stream_copy_to_stream
php_stream_copy_to_mem
->php_stream_make_seekable
php_stream_cast
php_stream_can_cast
php_stream_is_persistent
php_stream_is
php_stream_passthru
php_register_url_stream_wrapper
php_unregister_url_stream_wrapper
php_stream_open_wrapper_ex
php_stream_open_wrapper_as_file
php_stream_filter_register_factory
php_stream_filter_unregister_factory

9.1.4.15 php_stream_make_seekable()Convertit un flôt en flôt avec un pointeur de position

[ Exemples avec hp_stream_make_seekable ]   CVS uniquement

int  php_stream_make_seekable ( php_stream *   origstream , php_stream **   newstream , int   flags )

php_stream_make_seekable vérifie si origstream dispose d'un pointeur de potision. Si ce n'est pas le cas, il va copier les données du flôt dans un autre flôt temporaire, et disposant d'un pointeur de position. Si cela fonctionne, newstream sera un flôt valide même si le flôt original avait déjà un pointeur de position.

flags vous permet de spécifier votre préférence pour le flôt retourné : utilisez la constante PHP_STREAM_NO_PREFERENCE pour utiliser le flôt à pointeur de position par défaut (qui utilise la mémoire, mais passe automatiquement sur un fichier si le fichier devient trop grand), ou bien utilisez PHP_STREAM_PREFER_STDIO pour utiliser un fichier temporaire classique.

Valeur Signification
PHP_STREAM_UNCHANGED Le flôt original avait déjà son pointeur de position. newstream vaut origstream .
PHP_STREAM_RELEASED Le flôt originl n'avait pas pointeur de position, et il a été détruit. Vous n'avez plus accès à origstream .
PHP_STREAM_FAILED Une erreur est survenue lors de la conversion. newstream vaut NULL; origstream est toujours valide.
PHP_STREAM_CRITICAL Une erreur est survenue lors de la conversion de origstream , qui est maintenant dans un état indéterminé. newstream vaut NULL et il est très recommandé que vous vous fermiez origstream .

Note

Si vous devez déplacer le pointeur et écrire dans le flôt, n'utilisez pas cette fonction, car le flôt retourné est un flôt mis en cache. Il n'est pas garantit qu'il soit lié à la ressource originale.

Note

Si vous avez uniquement de déplacer le pointeur de position vers l'avant, il n'y a pas besoin d'appeler cette fonction, car l'API va automatiquement émuler ce fonctionnement avec le paramètre whence à la valeur SEEK_CUR .

Note

Si origstream repose sur le réseau, cette fonction va se bloquer jusqu'à ce que tout le contenu soit téléchargé.

Note

Ne JAMAIS appeler cette fonction avec un flôt origstream qui est une référence à un pointeur de fichier dans un script PHP. Cette fonction pourrait alors fermer le fichier, ce qui conduira à un crash au prochain accès au pointeur.

Note

Dans de nombreux cas, cette fonction ne peut réussir que si origstream vient d'être tout juste ouvert, et qu'aucune données n'ont été mises dans les caches de la couche de flôt. Pour cette raison, et parceque cette fonction est compliquée à utiliser correctement, il est recommandé que vous utilisiez la fonction php_stream_open_wrapper en lui passant la constante PHP_STREAM_MUST_SEEK dans vos options, au lieu d'appeler cette fonction directement.

<< php_stream_make_seekable >>
php_stream_copy_to_mem Référence des API communes de flôts php_stream_cast
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -