Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
vendredi 3 juillet 2009 Rechercher :
Déposez votre CV gratuitement sur touslesemplois
 
comparer les prix
» Logiciels
» Jeux vidéos
» Matériel Informatique


» ASP.NET
» ASP
» SQL
» PHP
» JAVASCRIPT
» XML
 


» ACTUALITÉ / DIVERS
» DROIT DE L'INTERNET
» INFOS VIRUS
» PATCHS MICROSOFT
» SÉCURITÉ
» BASES DE DONNÉES
» DOWNLOAD .NET
» LOGITHÈQUE
» SERVICES WEB
» Y SONT FOUS !
» .NET
» ASP
» ASP.NET
» JAVA
» PHP
» XML
» LANGAGE C#
» LANGAGE VB.NET
» UNIX / LINUX
» WINDOWS
» EVÈNEMENTS
» GASP
» MICROSOFT
 



Vous êtes ici : Articles PHP > NOTES DE COURS

Gestion des fichiers en PHP
Un fichier permet de conserver sur le disque dur du serveur des éléments divers tels que des images, des textes etc... PHP ignore la structure d'un fichier, et ouvre de la même manière un fichier binaire (par exemple une image gif) qu'un fichier texte. Seul le mode d'ouverture est paramétrable : lecture, écriture ou modification.


ABONNEZ-VOUS GRATUITEMENT A LA REVUE DE PRESSE "LES Z'ACTUS" ET RECEVEZ CHAQUE JOUR DANS VOTRE BOITE AUX LETTRES LA MEILLEURE INFORMATION DEDIEE AUX WEBMASTERS / DEVELOPPEURS.

Indiquez votre adresse E-mail :

Technologie : PHP 
Date : 29/05/2006   
Auteur : ASP MAGAZINE

Lecture rapide d'un fichier

* int readfile (string filename [, int use_include_path])

description : La fonction readfile permet d'afficher à l'écran un fichier. Cette fonction se charge d'elle même d'ouvrir le fichier au préalable. si "http://" est mentionné en début de filename, readfile provoque l'ouverture et l'affichage de l'url spécifiée, de même avec ftp:// si le serveur ftp supporte le mode PASV.

Exemple :

<?
// affiche le fichier monfichier.txt
readfile ("monfichier.txt");
// affiche le contenu de l'url
readfile ("http://www.asp-magazine.com/") ;
?>

Note : la fonction readfile ne supporte pas la redirection, ceci signifie qu'il faut ajouter "/" à la fin de l'url indiquée, s'il s'agit d'un répertoire.

Ouverture d'un fichier

* int fopen (string filename, string mode [, int use_include_path])

description : la fonction fopen permet d'ouvrir un fichier dans le mode spécifié par "mode". "filename" peut représenter un fichier sur le disque, ou située à une url distante.

* string filename
La variable filename peut prendre plusieurs formes :

  • - commence par http:// - fopen ouvre le fichier distant indiqué dans l'url
  • - commence par ftp:// - fopen ouvre le fichier situé sur un serveur ftp supportant le mode passif (PASV)

* string mode
Le mode d'ouverture du fichier peut prendre les valeurs suivantes :

  • "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; 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.
  • "a" - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer.
  • "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.

Note : un fichier ouvert à l'aide de la fonction fopen doit être fermé avec la fonction fclose.

* int fclose (int fp)

Exemple d'ouverture de fichiers :

<?
// ouverture sur un serveur ftp
$fichier = fopen("ftp://login:mot_de_passe@nom_du_serveur_ftp/nom_du_fichier", "w");
// ouverture sur un serveur http
$fichier = fopen("http://www.asp-magazine.com/","r")
// ouverture d'un fichier en local (sur le serveur)
$fichier = fopen("/mon_rep/mon_fichier.txt","r")
?>

Lecture d'un fichier en une seule fois

* int fpassthru (int fp)

description : Cette fonction est identique à readfile mais elle n'ouvre pas automatiquement un fichier. Il faut donc l'utiliser avec fopen. La fonction retourne false si une erreur s'est produite.
exemple :

<?
// ouverture du fichier en lecture
$fichier = fopen ( "monfichier.txt" ,," r " ) ;

// affichage du fichier
fpassthru($fichier) ;
?>

Lecture de fichier ligne par ligne (octet par octet)

* string fgets (int fp, int length)

description : la fonction fgets permet de lire une chaîne dans un fichier (fp : préalablement ouvert avec fopen par ex) à partir de la position courante, dont la longueur est spécifiée par length.

Exemple :

<?
// ouverture du fichier à lire
$fichier = fopen ("/mon_rep/mon_fichier.txt", "r");
// Tant qu'on est pas à la fin
while (!feof($fichier)) {
// lire 4096 octets
$buffer = fgets($fichier, 4096);
// Ecrire à l'écran la chaîne lue
echo $buffer;

}
fclose ($fichier);
?>

Ecrire dans un fichier

* int fwrite (int fp, string string [, int length])

description : la fonction fwrite permet d'écrire (mode binaire) dans un fichier $fp, le contenu de la variable string (d'une longueur de length octets).

Exemple : Ajouter une ligne dans un fichier texte

<?
// ouverture du fichier en mode lecture- écriture : le pointeur est à la fin du fichier
$fichier=fopen($filename, 'a+');

// écriture de la ligne
fwrite($fichier,"Nouvelle ligne à insérer \n")
// fermeture du fichier
fclose ($fichier);
?>



Proregna - L'hébergement ASP.NET


A RETENIR CETTE SEMAINE
26/06/2009 - Windows 7: les détails sur l'offre de mise à jour, les prix et la version sans Internet Explorer
Le programme de lancement de Windows 7 commence dès demain par la mise à jour des PC achetés avec Vi ...
26/06/2009 - Créer des Splash Screens sous Silverlight
Encore un article tout chaud à peine démoulé ! Le sujet aussi est brûlant : Avec l'arrivée prochaine ...
25/06/2009 - SQL Server : Evolutivity
Le projet evolutivity (http://www.evolutility.com ) est intéressant à plus d’un titre car il permet ...
25/06/2009 - Windows 7 API Code Pack pour .NET publié en version 0.90
Parmi les fonctions et éléments supportés citons: la barre des tâches, barre de progression et autre ...
25/06/2009 - PHP 5.2.10 : 100 bugs corrigés et amélioration de la stabilité
La nouvelle version du langage de script côté serveur corrige une centaine de bogues. Une faille de ...
24/06/2009 - Développer une application de gestion de contacts avec ASP.NET MVC : Créer des tests unitaires
Dans cette série de tutoriaux, nous allons construire de bout en bout une application complète de ge ...
24/06/2009 - Des tutoriels pour Entity Framework New Look
Microsoft publie une série de tutoriels pour faire connaître les nouveautés et améliorations de son ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade