PHP/Fichiers

Une page de Wikiversité.

< PHP
Computer-aj aj ashton 01.svg

PHP/Fichiers est une ébauche concernant l'informatique. Vous pouvez aider le projet Wikiversité en l'améliorant.


Les sessions en PHP
Computer-aj aj ashton 01.svg
Chapitre 10
Leçon : PHP
Chap. préc. : Sessions
Icon falscher Titel.svg

En raison de limitations techniques, la typographie souhaitable du titre, « PHP : Les sessions en PHP
PHP/Fichiers
 », n'a pu être restituée correctement ci-dessus.

Parfois l'utilisation de fichier peut être très utile dans certains script, par exemple pour un système de cache ou autre.
Dans ce cours nous allons voir comme interagir avec un fichier.

[modifier] Chmod

Avant toute chose, il faut savoir que CHMOD est le système de droit d'accès a un fichier Unix. Il s'agit d'un nombre à 3 chiffres que l'on attribut à un fichier (ex : 755). Il détermine le droit d'accès au fichier en question, qui peut le modifier.
Selon sa valeur le système d'exploitation (OS) autorise ou non la modification du fichier. Sous GNU/Linux, l'utilisateur 'root', (superutilisateur), a tous les droits c'est-à-dire qu'il peut modifier tous les fichiers.

Lorsque qu'un fichier est créé manuellement, le chmmod du fichier en question est 755, avec un tel chmod nous ne pouvons pas modifier le fichier avec un script PHP.
Pour pouvoir le modifier il suffit juste de changer le chmod du fichier, en lui donnant la valeur '777'.

[modifier] Ouvrir & Fermer un fichier

Créer un fichier avec un attribut chmod de '777'. Ensuite il faut ouvrir le fichier en question avant de lire/écrire. Pour cela la fonction fopen est là :

<?php
$mon_fichier  =  fopen ($filename, $mode);
?>


Explication : La fonction fopen à besoin de deux paramètres pour pouvoir s'executer.

  • $filename, il s'agit du chemin du fichier
  • $mode, il s'agit du mode de l'ouverture

La fonction fopen utilise le premier paramètre, pour déterminer le chemin du fichier a ouvrir/créer.

Voici les différents modes d'ouvertures pour la fonction fopen :

Mode Description
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, et 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, et 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, et place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
a+ Ouvre en lecture et écriture, et place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
x Créé et ouvre le fichier en lecture seule ; place le pointeur de fichier au début du fichier.

Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacente. Cette option est supportée à partir de PHP 4.3.2 et fonctionne uniquement avec des fichiers locaux.

x+ Crée et ouvre le fichier en lecture et écriture ; place le pointeur de fichier au début du fichier.

Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en |générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer.


Pour le fermer maintenant, il y a la fonction fclose.

<?php
$mon_fichier  =  fopen ($filename, $mode);
 
fclose ($mon_fichier);
?>
PHP
Crystal Clear action back.png Sessions