Maison  >  Article  >  php教程  >  Instructions pour utiliser la fonction fopen pour ouvrir des fichiers en php

Instructions pour utiliser la fonction fopen pour ouvrir des fichiers en php

高洛峰
高洛峰original
2016-12-21 15:54:311447parcourir

1.resource fopen(string $filename, string $mode [,bool $use_include_path [, resource $zcontext]])
Fonction :
fopen() lie la ressource de nom spécifiée par filename à un Stream up . Si le nom de fichier est de la forme "scheme://...", il est traité comme une URL et PHP recherchera un gestionnaire de protocole (également appelé protocole wrapper) pour gérer le schéma. Si le protocole n'a pas été enregistré en tant que protocole wrapper, PHP émettra un message pour aider à vérifier les problèmes potentiels dans le script et continuer l'exécution du nom de fichier comme un nom de fichier normal.
Si PHP pense que le nom de fichier spécifie un fichier local, il essaiera d'ouvrir un flux sur ce fichier. Le fichier doit être accessible à PHP, vous devez donc confirmer que les autorisations d'accès au fichier autorisent cet accès. Si le mode sans échec ou open_basedir est activé, d'autres restrictions s'appliquent.

Si PHP estime que le nom de fichier spécifie un protocole enregistré et que le protocole est enregistré en tant qu'URL réseau, PHP vérifiera et confirmera que allow_url_fopen a été activé. S'il est fermé, PHP émettra un avertissement et l'appel à fopen échouera.

filename : Spécifie le fichier ou l'URL à ouvrir.
mode : Spécifie le type d'accès requis au fichier/flux.
include_path : Facultatif, si vous devez également récupérer des fichiers dans include_path, vous pouvez définir ce paramètre sur 1 ou TRUE.
Contexte : facultatif, spécifie l'environnement du descripteur de fichier. Le contexte est un ensemble d'options qui peuvent modifier le comportement du flux.

Valeurs possibles du paramètre mode
mode Description
"r" Ouvrez en mode lecture seule et pointez le pointeur du fichier vers l'en-tête du fichier.
"r " Ouvrez en mode lecture-écriture et pointez le pointeur du fichier vers l'en-tête du fichier.
"w" Ouvrez en mode écriture, pointez le pointeur du fichier sur l'en-tête du fichier et tronquez la taille du fichier à zéro. Si le fichier n'existe pas, essayez de le créer.
"w" Ouvrez en mode lecture-écriture, pointez le pointeur du fichier sur l'en-tête du fichier et tronquez la taille du fichier à zéro. Si le fichier n'existe pas, essayez de le créer.
"a" Ouvrez en mode écriture et pointez le pointeur de fichier vers la fin du fichier. Si le fichier n'existe pas, essayez de le créer.
"a" Ouvrez en mode lecture-écriture et pointez le pointeur de fichier vers la fin du fichier. Si le fichier n'existe pas, essayez de le créer.
"x"
Créez et ouvrez en écriture, en pointant le pointeur du fichier vers l'en-tête du fichier. Si le fichier existe déjà, l'appel fopen() échoue et renvoie FALSE et génère un message d'erreur de niveau E_WARNING. Si le fichier n'existe pas, essayez de le créer.
Cela équivaut à spécifier l'indicateur O_EXCL|O_CREAT à l'appel système open(2) sous-jacent.
Cette option est prise en charge par PHP 4.3.2 et versions ultérieures et ne peut être utilisée que pour les fichiers locaux.

"x "
Créer et ouvrir en mode lecture-écriture, en pointant le pointeur du fichier vers l'en-tête du fichier. Si le fichier existe déjà, l'appel fopen() échoue et renvoie FALSE et génère un message d'erreur de niveau E_WARNING. Si le fichier n'existe pas, essayez de le créer.
Cela équivaut à spécifier l'indicateur O_EXCL|O_CREAT à l'appel système open(2) sous-jacent.
Cette option est prise en charge par PHP 4.3.2 et versions ultérieures et ne peut être utilisée que pour les fichiers locaux.

Remarque :
Différentes familles de systèmes d'exploitation ont des conventions de fin de ligne différentes. Lorsque vous écrivez dans un fichier texte et que vous souhaitez insérer une nouvelle ligne, vous devez utiliser des fins de ligne compatibles avec le système d'exploitation. Les systèmes basés sur Unix utilisent n comme caractère de fin de ligne, les systèmes Windows utilisent rn comme caractère de fin de ligne et les systèmes Macintosh utilisent r comme caractère de fin de ligne.

Si vous écrivez des fichiers avec des fins de ligne incorrectes, d'autres applications peuvent se comporter étrangement lors de l'ouverture de ces fichiers.
Windows fournit une balise de conversion de texte (« t ») pour convertir de manière transparente n en rn. Alternativement, « b » peut être utilisé pour forcer le mode binaire afin que les données ne soient pas converties. Pour utiliser ces indicateurs, utilisez « b » ou « t » comme dernier caractère de l'argument mode.

Le mode de conversion par défaut dépend de la version SAPI et PHP utilisée, donc pour des raisons de portabilité, il est encouragé à toujours spécifier les balises appropriées. Si vous travaillez avec des fichiers de texte brut et utilisez n comme terminateur de ligne dans votre script, mais que vous souhaitez également que les fichiers soient lisibles par d'autres applications telles que le Bloc-notes, utilisez « t » en mode. Utilisez « b » dans tous les autres cas.

Si vous ne spécifiez pas l'indicateur 'b' lors de l'utilisation de fichiers binaires, vous risquez de rencontrer des problèmes étranges, notamment des fichiers image corrompus et des problèmes étranges avec le caractère rn.


Pour plus d'articles sur la façon d'utiliser la fonction fopen pour ouvrir des fichiers en PHP, veuillez faire attention au site Web chinois de PHP !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn