La lecture et écriture de fichier (fopen)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 557 fois - Téléchargée 28 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

non compris pour debutant.
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
12
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
1
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

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

sa ma aidé beaucoup je te remercie
freedom

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.