Menu des cours PHP
Ce langage représenté par un éléphant bleu est actuellement l'un des langages de programmation web les plus évolués. Le maitriser vous facilitra la vie et vous découvrirez en lui multiples applications pour votre site, de quoi le rendre vivant, dynamique et surtout simple de mise à jour dans un premier temps. Des variables aux pseudo-frames en passant par l'utilisation de formulaires, voici comment le découvrir...
Nous verrons ici plus précisemment la version 4 de PHP.

Les fichiers

PHP étant un langage serveur, il lui est simple d'accéder à des fichiers pour en modfier leur contenu, les récupérer, les lire et les utiliser.
Une régle essentielle pour l'utilisation de fichiers : un fichier ouvert se referme toujours.

Ouvrir un fichier :

Pour toute action dans un fichier, il faut au préalable l'ouvrir.

Exemple :
fopen("flowers.txt", "r");

Ici, nous ouvrirons le fichier flowers.tct et nous en ferons une simple lecture. Le r correspond au mode d'ouverture.
Le r correspond à la première lettre de read (lire, en anglais), le w à write (écrire, en anglais) et a à append (ajouter, en anglais). Un plus (+) en suffixe permet d'élargir la permission.

r => Lire
r+ => Lire, Ecrire
w => Ecrire, Créer, Tronquer
w+ => Lire, Ecrire, Créer, tronquer
a => Ecrire, Créer
a+ => Lire, Ecrire, Créer

Si on ouvre un fichier à l'aide de fopen("nom_fichier.txt", "w");, on pourra donc écrire, créer ou tronquer le fichier, mais il sera impossible de l'utiliser en le lisant.
Pour ouvrir un fichier, prenez l'habitude de toujours associer son ouverture à une variable. Vous en aurez besoin pour le refermer.

Exemple :
$ouverture = fopen("flowers.txt", "r");
Remarque :
Pour s'assurer du bon déroulement de l'ouverture du fichier, utilisez die() de cette façon :
$ouverture = fopen("flowers.txt", "r");
if(!$ouverture) {
   die("L'ouverture de <i>flowers.txt</i> a échoué.");
}

Fermer un fichier :

Pour fermer un fichier, on fermera en fait la variable associée à son ouverture.
Ainsi, pour fermer le fichier ouvert dans l'exemple précédent :

Exemple :
fclose($ouverture);
Remarque :
Pour éviter les messages d'erreur, on peut préfixer la fonction d'un arobas (@). Ainsi, @fclose($ouverture) ne renverra jamais d'erreur.

Lire un fichier :

PHP propose de nombreuses fonctions pour lire un fichier, la plus simple étant fread() qui prend comme argument la variable d'ouverture du fichier et le nombre d'octets à lire.

Exemple :
<?php
$ouverture = fopen("flowers.txt", "r");

$lecture = fread($ouverture, 256);
echo($lecture);

fclose($ouverture);
?>
Remarque :
Il est très courant et aussi très pratique d'utiliser la fonction filesize() qui retourne la taille exact du fichier passé en argument. Ainsi, on peut utiliser fread() de cette façon pour lire le fichier dans son intégralité :
<?php
$fichier = "flowers.txt";
$ouverture = fopen($fichier, "r");

$lecture = fread($ouverture, filesize($fichier));
echo($lecture);

fclose($ouverture);
?>

Lire un fichier ligne par ligne :

Une ligne de texte est une série de caractères terminée par le caractère de fin de ligne (\n). On utilisera fgets() qui prendra exactement la même syntaxe que fread(). Pour lire le fichier dans sa totalité, il doit pouvoir savoir si oui ou non il a atteint la fin du fichier. Pour cela, c'est feof() qui est utilisé qui retournera une valeur booléenne (true si la fin est atteinte, false sinon).

Exemple :
<?php
$ouverture = fopen("flowers.txt", "r");

$lecture = fgets($ouverture, 256);

while(!feof($ouverture)) {
    echo "$lecture <br>";
    $lecture = fgets($ouverture, 256);
}

fclose($ouverture);
?>
Remarque :
Il existe néammois plus simple pour lire un fichier : file(). Cette fonction retournera un tableau donc chaque élément correspondra à une ligne du fichier.
$lecture = file("flowers.txt");
foreach($lecture as $lu) {
    echo "$lu <br>";
}

Ecrire dans un fichier :

Si vous avez un peu réfélechit, vous en aurez conclu que ce sera logiquement fwrite() qui s'attribuera de cette tâche.

Exemple :
<?php
$ouverture = fopen("flowers.txt", "a");

$ok = fwrite($ouverture, "Ligne à ajouter.\n");
echo "Résultat de l'opération d'écriture : $ok";


fclose($ouverture);
?>


Dans la mesure où le fichier a été ouvert en mode a, la ligne sera ajoutée à la fin du fichier. Si il avait été ouvert en w, la ligne aurait remplacé tout le contenu du fichier.
Remarque :
Pour modifier un fichier, la seul solution est de le récupérer dans un tableau à l'aide de file() puis de retrouver ce que vous souhaitez modifier à l'aide d'une boucle for, de modifier l'élément du tableau concerné, puis de transformer l'intégrale du tableau en une unique variable à l'aide d'une autre boucle en concaténant les différents éléments (concatanation : fusionner deux variables en une à l'aide de l'opérateur de concatanation ".") pour au final réécrire tout le fichier à l'aide de fwrite(). Tout ceci en aillant ouvert le fichier en mode w+ (lecture + écriture).
Revenons maintenant quelques instants sur ce qui est appelé Chaîne De Caractères, affin de mieux les comprendre...



<< Précédent - Sommaire - Suivant >>

Un problème ? Quelque chose que vous n'avez pas saisit ?
Posez vos questions sur les forums(+) !


Toute reproduction interdite - Intégralement écrits par le Webmaster
Valid XHTML 1.0! Valid CSS!
By JSAND [All right reserved] - Windows est une marque de Microsoft Corporation
Toute copie compléte comme partielle sans autorisation est passible d'amende - Avertissements