Maison développement back-end Problème PHP Comment utiliser la fonction php fopen

Comment utiliser la fonction php fopen

May 28, 2019 pm 02:23 PM

La fonction php fopen est utilisée pour ouvrir un fichier ou une URL. Sa syntaxe est fopen(filename, mode, include_path, context). Le paramètre filename est obligatoire, qui fait référence au fichier ou à l'URL Mode est obligatoire. , qui fait référence à l'exigence relative au fichier/Le type d'accès au flux.

Comment utiliser la fonction php fopen

Comment utiliser la fonction php fopen ?

Définition et utilisation

La fonction fopen() ouvre un fichier ou une URL.

Si l'ouverture échoue, cette fonction renvoie FALSE.

Syntaxe

fopen(filename,mode,include_path,context)
Copier après la connexion

Paramètres

nom de fichier requis. Spécifie le fichier ou l'URL à ouvrir.

mode requis. Spécifie le type d'accès requis à ce fichier/flux. Les valeurs possibles sont indiquées dans le tableau ci-dessous.

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 d’un descripteur de fichier. Le contexte est un ensemble d'options pouvant modifier le comportement du flux.

Valeurs possibles du paramètre mode

mode Description

"r" Ouvrir en mode lecture seule, en pointant le pointeur du fichier vers le en-tête du fichier.

"r+" Ouvrez en mode lecture et é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 et é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 et écriture et pointez le pointeur de fichier vers la fin du fichier. Si le fichier n'existe pas, essayez de le créer.

"x" est créé et ouvert en écriture, 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+" le crée et l'ouvre en lecture et 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.

Explication

fopen() lie la ressource de nom spécifiée par nom de fichier à un flux. 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 wrapper n'a pas été enregistré pour le protocole, 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 s'il s'agissait d'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.

La prise en charge du contexte a été ajoutée dans PHP 5.0.0.

Conseils et notes

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 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 les fichiers sont écrits avec des fins de ligne incorrectes, d'autres applications peuvent se comporter étrangement lors de l'ouverture des fichiers.

Windows fournit une balise de conversion de texte ("t") qui peut 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.

在操作二进制文件时如果没有指定 "b" 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。

注释:为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 "b" 标记。

注释:再一次,为移植性考虑,强烈建议你重写那些依赖于 "t" 模式的代码使其使用正确的行结束符并改成 "b" 模式。

例子

<?php
$file = fopen("test.txt","r");
$file = fopen("/home/test/test.txt","r");
$file = fopen("/home/test/test.gif","wb");
$file = fopen("http://www.example.com/","r");
$file = fopen("ftp://user:password@example.com/test.txt","w");
?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Limitation du taux de l'API PHP: stratégies de mise en œuvre. Limitation du taux de l'API PHP: stratégies de mise en œuvre. Mar 26, 2025 pm 04:16 PM

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

Validation d'entrée PHP: meilleures pratiques. Validation d'entrée PHP: meilleures pratiques. Mar 26, 2025 pm 04:17 PM

L'article traite des meilleures pratiques pour la validation des entrées PHP pour améliorer la sécurité, en se concentrant sur des techniques telles que l'utilisation de fonctions intégrées, une approche de liste blanche et une validation côté serveur.

See all articles