Loading...

 


fonction-fopen.php

creationdev

Agence Web

Formation référencement web
Formation référencement web

100$ CAD

Conception web ecommerce
Conception web ecommerce

2500$ CAD

Conception d'application web
Conception d'application web

100$ CAD

Référencement web stratégique
Référencement web stratégique

200$ CAD

Conception web standard
Conception web standard

2500$ CAD

Référencement web optimisé
Référencement web optimisé

100$ CAD

Référencement web organique
Référencement web organique

50$ CAD

Référencement web extra
Référencement web extra

150$ CAD

Conception web pro
Conception web pro

5000$ CAD

Conception web microsite
Conception web microsite

1000$ CAD

Fonction

Fonction

fopen

fopen

Page Vue 15 nov. 2018
Page Vue 35 fois

(PHP 4, PHP 5, PHP 7, PHP 8)

fopen — Ouvre un fichier ou une URL

Description

fopen(
    string $filename,
    string $mode,
    bool $use_include_path = false,
    ?resource $context = null
): resource|false

fopen() crée une ressource nommée, spécifiée par le paramètre filename, sous la forme d'un flux.

Liste de paramètres

filename

Si filename est de la forme "protocole://", filename est supposé être une URL, et PHP va rechercher un gestionnaire de protocole adapté pour lire ce fichier. Si aucun gestionnaire pour ce protocole n'est disponible, PHP va émettre une alerte qui vous permettra de savoir que vous avez des problèmes dans votre script, et il tentera d'exploiter filename comme un fichier classique.

Si PHP décide que le fichier filename est un fichier local, il va essayer d'ouvrir un flux avec ce fichier. Le fichier doit être accessible à PHP. Il vous faut donc vous assurer que vous avez les droits d'accès à ce fichier. Si vous activez la directive open_basedir, d'autres conditions peuvent aussi s'appliquer.

Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.

Note:

La liste des protocoles supportés est disponible sur Liste des protocoles et des gestionnaires supportés. Certains protocoles (appelés aussi wrappers ou gestionnaires) supportent des context et/ou des options dans le fichier php.ini. Référez-vous aux pages du manuel traitant le protocole, pour connaître la liste des options qui sont disponibles. ( e.g. l'option de php.ini user_agent est utilisée par le gestionnaire http).

Sous Windows, assurez-vous de bien protéger les antislashs utilisés dans le chemin du fichier, ou bien utilisez des slashs. <?php
$handle = fopen("c:\\folder\\resource.txt", "r");
?>

mode

Le paramètre mode spécifie le type d'accès désiré au flux. Il peut prendre les valeurs suivantes :

Liste des modes possibles pour la fonction fopen() en utilisant le paramètre mode
mode Description
'r' Ouvre en lecture seule et place le pointeur de fichier au début du fichier.
'r+' Ouvre en lecture et écriture et place le pointeur de fichier au début du fichier.
'w' Ouvre en écriture seule ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
'w+' Ouvre en lecture et écriture ; le comportement est le même que pour 'w'.
'a' Ouvre en écriture seule ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer. Dans ce mode, la fonction fseek() n'a aucun effet, les écritures surviennent toujours.
'a+' Ouvre en lecture et écriture ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer. Dans ce mode, la fonction fseek() n'affecte que la position de lecture, les écritures sont toujours ajoutées à la fin.
'x' Crée et ouvre le fichier en écriture seulement ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant false et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacent.
'x+' Crée et ouvre le fichier pour lecture et écriture ; le comportement est le même que pour 'x'.
'c' Ouvre le fichier pour écriture seulement. Si le fichier n'existe pas, il sera créé, s'il existe, il n'est pas tronqué (contrairement à 'w') et l'appel à la fonction n'échoue pas (comme dans le cas de 'x'). Le pointeur du fichier est positionné au début. Ce mode peut être utile pour obtenir un verrou (voyez flock()) avant de tenter de modifier le fichier, utiliser 'w' pourrait tronquer le fichier avant d'obtenir le verrou (vous pouvez toujours tronquer grâce à ftruncate()).
'c+' Ouvre le fichier pour lecture et écriture, le comportement est le même que pour le mode 'c'.
'e' Défini l'indicateur close-on-exec sur le descripteur de fichier ouvert. Disponible uniquement en PHP compilé sur les systèmes conforme POSIX.1-2008.

Note:

Les systèmes d'exploitation utilisent différents caractères pour les nouvelles lignes. Lorsque vous écrivez un fichier texte et insérez une nouvelle ligne, vous devez utiliser le bon caractère pour votre système d'exploitation. Les systèmes Unix utilisent \n comme nouvelle ligne, les systèmes Windows utilisent \r\n, et les systèmes Macintosh (Mac OS Classic) utilisent \r.

Si vous n'utilisez pas le bon caractère de nouvelle ligne lors de l'écriture de vos fichiers, vous risquez d'ouvrir vos fichiers avec des applications qui donneront un aspect 'bizarre' au texte.

Windows propose un mode de traduction ('t'), qui va traduire automatiquement les caractères \n en \r\n lorsque vous travaillez sur le fichier. À l'inverse, vous pouvez utiliser l'option 'b' pour forcer le fichier à être écrit en mode binaire, sans traduction des données. Pour utiliser ces options, ajoutez 'b' ou 't' comme dernier caractère du paramètre mode.

Le mode de traduction par défaut est 'b'. Vous pouvez utiliser 't' lorsque vous écrivez des fichiers de texte et le caractère \n pour définir vos fin de ligne, dans les scripts, mais que vous vous attendez à ce que le fichier soit relu par une application comme les anciennes versions de Notepad. Vous devriez toujours utiliser l'option 'b' dans les autres cas.

Si vous spécifiez 't' lorsque vous travaillez avec des fichiers binaires, vous pourriez rencontrer des problèmes avec vos données, comme des images corrompues ou des caractères \r\n inopinés.

Note:

Pour des raisons de portabilité, il est fortement recommandé de réécrire les scripts qui utilisent l'option 't', pour qu'ils utilisent le bon caractère de nouvelle ligne et le mode 'b'.

Note: Le mode est ignoré pour les enveloppes de flux php://output, php://input, php://stdin, php://stdout, php://stderr et php://fd.

use_include_path

Le troisième paramètre optionnel use_include_path peut être défini à 1 ou à true pour chercher le fichier dans l'include_path.

context

Note: Une resource de contexte de flux.

Valeurs de retour

Retourne une ressource représentant le pointeur de fichier, ou false si une erreur survient

Erreurs / Exceptions

En cas d'échec, une alerte de type E_WARNING sera émise.

Historique

Version Description
7.0.16, 7.1.2 L'option 'e' a été ajoutée.

Exemples

Exemple #1 Exemple avec fopen()

<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

Notes

Avertissement

Lorsque SSL est utilisé, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer un indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. Pour contourner ce le niveau de la directive error_reporting doit être baissée pour ne pas inclure les avertissements. PHP peut détecter automatiquement les serveur IIS bogué lors de l'ouverture du flux en utilisant https:// et supprimera l'avertissement. Lors de l'utilisation de fsockopen() pour créer un socket ssl://, c'est au développeur de détecter et supprimer l'avertissement.

Note:

Si vous rencontrez des problèmes en lecture ou écriture de fichier et que vous utilisez PHP en version module de serveur, n'oubliez pas que les fichiers auxquels vous accédez ne sont pas nécessairement accessibles au processus serveur.

Note:

Cette fonction peut également réussir lorsque filename est un dossier. Si vous avez un doute sur le fait que filename soit un fichier ou un dossier, vous pouvez utiliser la fonction is_dir() avant d'utiliser la fonction fopen().

Voir aussi

  • Liste des protocoles et des gestionnaires supportés
  • fclose() - Ferme un fichier
  • fgets() - Récupère la ligne courante à partir de l'emplacement du pointeur sur fichier
  • fread() - Lecture du fichier en mode binaire
  • fwrite() - Écrit un fichier en mode binaire
  • fsockopen() - Ouvre un socket de connexion Internet ou Unix
  • file() - Lit le fichier et renvoie le résultat dans un tableau
  • file_exists() - Vérifie si un fichier ou un dossier existe
  • is_readable() - Indique si un fichier existe et est accessible en lecture
  • stream_set_timeout() - Configure la durée d'expiration d'un flux
  • popen() - Crée un processus de pointeur de fichier
  • stream_context_create() - Crée un contexte de flux
  • umask() - Change le "umask" courant
  • SplFileObject


Source : http://www.php.net/
Ref : fonction-fopen.php





Article

Article


Conception Web


Conception web microsite
Sites web simples et économiques avec le CMS Wordpress. Site internet pour afficher vos services sur le web. Création de votre microsite avec Wordpress.
Conception web standard
Programmation de sites web pour ceux qui désire avoir un site internet développé avec une solution CMS de niveau intermédiaire. Création de votre site internet en PHP.
Conception web ecommerce
Créer un site web e-commerce pour gérer une boutique en ligne et vendre vos produits avec les paiements sécurisés PayPal. Création de votre site web ecommerce.
Conception web pro
Développement de sites web avec un système de gestion de contenu pour avoir un site internet pro. Solution CMS de niveau avancé, site web pour les professionnels.
Conception d'application web
Applications web interactives supportées par un gestionnaire de contenu (CMS) adapté à votre entreprise. Création ou mise à jour d'apps web existantes.

Référencement Web


Référencement web organique
Référencement naturel de sites internet pour ceux qui en sont à leur début en référencement web et qui désirent obtenir davantage de trafic sur les moteurs de recherche.
Référencement web optimisé
Optimisation du code source de sites internet et rédaction du contenu de pages web selon les mots clés préalablement ciblés pour le référencement de sites web.
Référencement web extra
Campagne de netlinking adapté à votre site. Gestion des adresses URL pour l'optimisation du référencement de votre site internet. Référencement de sites web extra-ordinaires.
Référencement web stratégique
Développement d'une stratégie de positionnement sur le web, Google Adwords et les réseaux sociaux. Référencement stratégique pour votre site internet.
Formation référencement web
Formation en référencement de sites internet pour l'optimisation de votre site web sur les principaux moteurs de recherche. Cours de formation seo.

Développement Web


Bd mysql et phpmyadmin
Pour la gestion des données de votre CMS, nous avons choisi d'utiliser le gestionnaire de BD MySQL avec phpMyAdmin. Bases de données illimitées pour votre site internet.
Programmation html5 et css3
Programmation de sites internet en Html5 et Css3 en respectant les standards du web par le W3C. Développement web réalisé par notre équipe de passionnés.
Programmation php et jquery
Programmation de sites internet en PHP, Ajax et avec la librairie jQuery. Développement de sites web dynamiques avec Wordpress, PrestaShop ou un CMS maison.
Site internet multilingue
Nous programmons en fonction que votre site web sera multilingue pour faciliter la transition si jamais vous décidez de traduire votre site web plus tard.


Designs Web


Design web gratuit
Nous choisirons un design de site web à l'image de votre entreprise avec des designs de pages web ergonomiques pour les visiteurs de votre site internet.
Intégration de site web
Intégration de sites internet en Html5 et Css3, tout en respectant les standards du World Wide Web Consortium (W3C). Votre site web sera identique au design web.


Marketing Internet


Gestionnaire de réseau social
Prise en charge de l'inscription de votre site internet sur les réseaux sociaux tels que Facebook, Twitter et Linkedin. Optimisation de sites web sur les réseaux sociaux (SMO).
Google analytics webmasters
Avec les outils pour les webmasters de Google, vous avez la possibilité d'utiliser Google Analytics qui offre plusieurs statistiques web intéressantes sur votre site internet.
Optimisation de site web
Conseils en stratégies marketing sur le web pour le référencement en tenant compte de l'optimisation pour les moteurs de recherche, tels que Google, Yahoo et Bing.


Hébergement Web


Enregistrement dns
Réservation du nom de domaine et enregistrement DNS pour votre site internet. Possibilité de transférer le domaine de votre site vers nos serveurs.
Hébergement web gratuit
Tout est en place pour vous offrir le meilleur service d'hébergement pour votre site internet et nous vous proposons d'héberger votre site web gratuitement !
Serveurs dédiés
Possibilité d'héberger votre site internet sur des serveurs web dédiés pour un site e-commerce ou pour un site web qui traite beaucoup d'informations.



Google

Google

Résultats Google







Bing

Bing

Résultats Bing







Yahoo

Yahoo

Résultats Yahoo







Contact

Contact

Veuillez saisir les infos dans le formulaire d'identification
suivant pour concevoir et référencer votre site.









Veuillez saisir votre message.

Carte d'affaires

Affichage de la carte d'affaires recto/verso.

Carte d'affaires recto
Carte d'affaires verso

©2026 creationdev -  F.A.Q. -  Soutien -  Haut de page
THÈMES: