Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
jeudi 2 septembre 2010 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);
?>



Project Hoshimi


A RETENIR CETTE SEMAINE
16/08/2010 - SharePoint : Optimisation des performances de sites sous MOSS – Les ASPMenus
Diviser par 3 la taille de la page HTML qui sera transférée à chaque utilisateur ? C'est possible. D ...
16/08/2010 - [WF4] L’association entre Activity et ActivityDesigner
Dans Windows Worklfow Foundation (WF), on tire beaucoup profit des avancées de Windows Presentation ...
16/08/2010 - Les alertes dans SharePoint 2007
Une des fonctionnalités de base de SharePoint, aussi bien dans Windows SharePoint Services que dans ...
29/07/2010 - Première Preview d'ASP.Net MVC3
Microsoft vient d'annoncer, via le vice-président de sa division de développement Scott Guthrie, la ...
29/07/2010 - Challenge Windows Phone 7 - La quatrième épreuve est disponible !
Nos amis du site Developpez.com ont mis en ligne la 4ème étape du Challenge Windows Phone 7. Il n'es ...
29/07/2010 - Difficile de faire plus facile !
Avec la plateforme web Microsoft, vos projets gagnent à tous les coups. 5 000 serveurs gratuits tout ...
29/07/2010 - J'en ai rien à coder 2010 - Le chapitre Visual Studio 2010 est en ligne !
Cet été formez-vous grâce au quatrième chapitre Visual Studio 2010 de la saga de l'été MSDN "J'en ai ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade