Apprendre à coder sur pierre-giraud.com

DES COURS COMPLETS ET GRATUITS POUR TOUS

CREER ET ECRIRE DANS UN FICHIER EN PHP

Créer un fichier PHP

Pour créer un nouveau fichier en PHP, nous allons à nouveau utiliser la fonction fopen().

En effet, cette fonction permet à la fois d’ouvrir un fichier ou du créer un fichier si on précise un mode adapté.

Pour créer un fichier avec fopen(), nous allons simplement préciser un nom de fichier qui sera le nom du fichier créé ainsi qu’un mode d’ouverture adapté en arguments de cette fonction.

En mentionnant simplement cela, le fichier sera par défaut créé dans le même dossier que notre page PHP.

Tentons immédiatement de créer un fichier test.txt.

On utilise la fonction PHP fopen() pour créer un nouveau fichier

Ici, nous créons un nouveau fichier avec le mode w+. Le fichier est donc accessible en lecture et en écriture.

De plus, si jamais le fichier existait déjà, les informations contenues dans celui-ci seraient effacées.

Notez qu’afin de véritablement créer le fichier, le code de votre page doit être exécuté. Vous devez donc ouvrir votre fichier .php dans votre navigateur pour exécuter le script au moins une fois.

Une fois cela fait, vous pouvez allez voir dans le dossier contenant votre page PHP. Un nouveau fichier nommé test.txt devrait avoir été créé dans ce dossier.

Nous avons  créé un nouveau fichier en PHP grâce à la fonction fopen()

Définir les permissions sur les fichiers – le chmod

Pour pouvoir écrire dans un fichier PHP, il faut avant tout nous assurer de posséder les permissions nécessaires.

Cela ne doit théoriquement pas poser de problème lorsqu’on travaille en local, c’est-à-dire sur notre propre machine. Cependant, si l’on travaille sur serveur, cela peut être plus compliqué car certains hébergeurs peuvent empêcher la modification de fichiers.

Pour vérifier vos permissions, il faut vous renseigner sur le « chmod » (abréviation de « change mode ») du dossier dans lequel il est placé.

Le chmod d’un dossier est défini par 3 chiffres représentant des valeurs octales comprises entre 0 et 7 qui vont chacune représenter un niveau de droit différent.

Le premier des trois chiffres correspond aux droits accordés au propriétaire du fichier, le deuxième chiffre correspond aux droits accordés aux membres du groupe (le « groupe d’utilisateurs ») et le dernier chiffre correspond aux droits accordés aux autres utilisateurs.

La signification de chaque valeur possible est la suivante :

Valeur Droit correspondant
0 Aucun droit
1 Droit d’exécution seulement
2 Droit d’écriture seulement
3 Droit d’écriture et d’exécution
4 Droit de lecture seulement
5 Droit de lecture et d’exécution
6 Droit de lecture et d’écriture
7 Tous les droits (écriture, lecture et exécution)

Ainsi, si l’on définit par exemple le chmod d’un dossier sur 754, cela signifie qu’on accorde tous les droits (lecture, écriture et exécution) sur les fichiers contenus dans ce dossier à l’auteur, des droits de lecture et d’exécution aux membres du groupe et des droits de lecture uniquement aux autres utilisateurs.

Dans tous les cas, il va être important que vous possédiez tous les droits sur vos différents fichiers. Pensez donc bien à vérifier que le premier chiffre est sur 7.

Ensuite, le réglage des permissions concernant les membres du groupe et les autres utilisateurs va être particulier à chaque cas selon votre site et la sensibilité des informatoins stockées : vos utilisateurs doivent ils pouvoir lire les fichiers ? En créer ? Les modifier ?

Ecrire dans un fichier en PHP

Avec ces précisions sur les droits d’utilisation des fichiers, nous allons maintenant pouvoir sereinement écrire dans notre fichier juste créé.

Pour écrire dans un fichier en PHP, nous allons utiliser la fonction fwrite().

Cette fonction va prendre en arguments l’information renvoyée par fopen() ainsi que le texte à écrire.

Utilisation de la fonction PHP fwrite()

Ici, nous utilisons fwrite() deux fois pour insérer deux lignes dans notre fichier. Pensez bien à exécuter ce code en ouvrant la page dans votre navigateur afin d’écrire effectivement dans votre fichier !

Une fois cela fait, vous pouvez ouvrir votre fichier. Vous remarquez que le texte a bien été inséré.

Nous avons écrit du texte dans un fichier grâce à la fonction fwrite()

Chapitre précédent

Chapitre suivant