La lecture et écriture de fichier (fopen)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 078 fois - Téléchargée 30 fois

Contenu du snippet

Un petit tutorial qui explique comment utiliser fopen et ses fonctions.

Source / Exemple :


La fonction fopen s'écrit comme ceci: $variable = fopen("fichier","mode")
On peut bien évidement utiliser des variables mais vous devez supprimer les guillmets. Pour le paramètre fichier, c'est le chemin du fichier. Le deuxième est le mode. Il y a sixe modes:
r qui ouvre en lecture seul le fichier
r+ qui ouvre en lecture et écriture le fichier
w qui ouvre le fichier en lecture seul et on se place au début. Si le fichier n'existe pas il est créé.
w+ qui ouvre le fichier en lecture et écriture et on se place au début. Si le fichier n'existe pas il est créé.
a ouvre le fichier en  lecture et on se place à la fin. Si le fichier n'existe pas il est créé.
a+ ouvre le fichier en lecture et écriture et on se place au début. Si le fichier n'existe pas il est créé.

Ensuite, il y a l'option chmode qui permet de changer le chmod d'un fichier.  La fonction est simple : chmod("fichier ou dossier", mode);

Il y a l'opition filesize qui permet de vérifier la grosseur d'un fichier. Vous n'avez qu'à faire $var = filesize("fichier");

Il y a fread qui lit un fichier. L'utilisation est $var = fread(var du fopen,longeur)
le var du fopen dans l'exemple était $fd et pour avoir la longeur d'un fichier, vous pouvez mettre au lieu filesize("fichier")

Pour se déplacer dans un fichier, il faut utiliser fseek. Voici comment on l'utilise: fseek(var du fopen, debut, fin). Vous remplacez debut et fin par la place que vous voulez commencer et finir. Vous pouvez utiliser SEEK_END pour avoir la fin du fichier et SEEK_SET pour le début.

Il y a le fputs (pareil que fwrite) pour écrire dans un fichier. Voici comment qu'on l'utilise: fputs(var du fopen, "texte", longeur). Notez que la longeur est opitionel, si elle n'est pas spécifier la chaine sera écrite au complet.

Dernièrement, il y a la commande fclose pour fermer un fichier. Voici comment on l'écrit: fclose(var du fopen).

Voici maintenant un exemple qui démontre bien le fopen:

<?
$fichier = "compteur.ini";
$fd = fopen($fichier,"w+");
fseek($fd,0,SEEK_END);
$contenu = fread($fd,filesize($fichier));
if ($contenu=="")
{
$contenu = 1;
}
else
{
$contenu++;
}
fseek($fd,0,SEEK_SET);
fputs($fd, $contenu,filesize($fichier)+1);
fclose($fd);
?>

Conclusion :


Il se peut qu'il aille des erreurs il est tard et j'ai hâte de me coucher.

A+,
SmallToad - Grand maitre PHP

A voir également

Ajouter un commentaire Commentaires
cs_isecso Messages postés 33 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 1 juin 2007
17 mai 2007 à 11:26
non compris pour debutant.
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
25 août 2005 à 22:01
Pour le retour à la ligne, certains font:
$Chaine .= "\n";

Perso, sous Windows, j'aime bien faire:
$Chaine .= chr(13).chr(10);
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
3 avril 2005 à 00:10
Si par hasard quelqu'un sait comment inséré un fichier htm dans un fichier zip avec une méthode comme sa je le prendrai volontier
merci
RDCman Messages postés 9 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 26 mai 2004
10 nov. 2004 à 17:05
bonjour / bonsoir.

coment faire un passage a la ligne dans le fichier texte ?
cs_kebec Messages postés 6 Date d'inscription vendredi 3 mai 2002 Statut Membre Dernière intervention 8 novembre 2004
13 févr. 2004 à 07:28
sa ma aidé beaucoup je te remercie
freedom
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.