Écriture dans un fichier en PHP
Écriture dans un fichier en PHP
-
Objectifs
- Être capable d’écrire dans un fichier en PHP
-
Présentation
- Une fois qu’un fichier est
ouvert avec fopen()
, vous pouvez procéder aux opérations d’écriture ou de lecture de son contenu. - Pour écrire dans un fichier avec l’un des modes définis dans la fonction
fopen()
, vous avez le choix entre plusieurs méthodes et donc entre plusieurs fonctions spécialisées de PHP. - Les fonctions
fwrite() et fputs()
nous permet lire un fichier en PHP -
Méthodes pour écrire dans un fichier en PHP
- Il existe plusieurs méthodes pour écrire dans un fichier en PHP, chacune ayant ses propres avantages et inconvénients. Voici quelques exemples :
- La fonction
fwrite()
: Cette fonction permet d’écrire des données dans un fichier ouvert en mode écriture. Elle prend en entrée le pointeur de fichier et les données à écrire. Exemple : - La fonction
file_put_contents()
: Cette fonction permet d’écrire des données dans un fichier en utilisant un seul appel. Elle prend en entrée le nom du fichier et les données à écrire. Exemple : - La fonction
fputs()
: Cette fonction est similaire à fwrite(), mais elle utilise un autre format pour les données à écrire. Elle prend en entrée le pointeur de fichier et les données à écrire. Exemple : - La fonction
fputcsv()
: Cette fonction permet d’écrire des données dans un fichier CSV. Elle prend en entrée le pointeur de fichier, les données à écrire sous forme de tableau, et un séparateur de colonne (optionnel). Exemple : - Il est important de noter que ces méthodes peuvent également être utilisées pour ajouter des données à un fichier existant en utilisant le mode « a » (append) lors de l’ouverture du fichier.
-
Utiliser la fonction
fwrite
-
Définition et utilisation
fwrite()
écrit dans un fichier ouvert.- La fonction s’arrête à la fin du fichier ou lorsqu’elle atteint la longueur spécifiée, selon la première éventualité.
- Cette fonction renvoie le nombre d’octets écrits ou FALSE en cas d’échec.
-
Syntaxe:
-
Paramètres:
$id_file
:Obligatoires. Spécifie le fichier ouvert dans lequel on va écrirestring "chaine":
obligatoires. Spécifie la chaîne à écrire dans le fichier ouvertlength
: Optionnel. Spécifie le nombre maximum d’octets à écrire-
Exemple:
- Dans cet exemple, l’ouverture se fait avec l’argument « w », on ouvre donc le fichier en écriture seule et on place le curseur au début. Si le fichier n’existe, il est crée.
-
Utiliser la fonction
file_get_contents()
oufile()
- Les deux fonctions vues précédemment
file_get_contents()
etfile()
, prennent également en charge la lecture de données à partir d’URL, en utilisant soit le protocole HTTP ou FTP. - Voici un exemple, qui lit un fichier HTML sur le Web dans un tableau :
<?php // read file into array $arr = file('http://www.google.com') or die('ERROR: Cannot find file'); foreach ($arr as $line) { echo $line; } ?>
-
Utiliser la fonction
fgets()
- En cas de liaisons réseau lentes, il est parfois plus efficace de lire un fichier distant dans « morceaux » pour maximiser l’efficacité de la bande passante réseau disponible.
- Pour ce faire, utilisez le
fgets()
pour lire un nombre spécifique d’octets à partir d’un fichier. - La fonction
fgets()
renvoie une ligne d’un fichier ouvert. - Exemple
- Description
- Cette exemple introduit quatre nouvelles fonctions, alors examinons-la de plus près.
- Premièrement les
fonction fopen()
: elle accepte le nom du fichier source et un argument indiquant si le fichier doit être ouvert en lecture (‘r
‘), en écriture (‘w
‘) ou en ajout (‘a
‘), puis crée un pointeur vers le fichier. - Ensuite, une boucle while appelle la fonction
fgets()
en boucle pour lire un nombre spécifique d’octets du fichier et ajoute les octets à une variable de chaîne ; cette boucle continue jusqu’à ce que la fonction feof() renvoie true, indiquant que la fin du fichier est atteinte. - Une fois la boucle terminée, la fonction fclose() détruit le pointeur de fichier.
- Afin de lire les URL distantes, la variable de configuration PHP ‘
allow_url_fopen
‘ doit être défini sur true dans le fichier de configuration PHP php.ini. - Si cette variable est définie sur false, tous les tentatives de lecture de fichiers distants échoueront.
<?php
$file = fopen("monfichier.txt", "w");
fwrite($file, "Bonjour tout le monde !");
fclose($file);?>
<?php
file_put_contents("monfichier.txt", "Bonjour tout le monde !");?>
<?php
$file = fopen("monfichier.txt", "w");
fputs($file, "Bonjour tout le monde !");
fclose($file);?>
<?php
$file = fopen("monfichier.csv", "w");
$data = array("John", "Doe", "26");
fputcsv($file, $data, ";");
fclose($file);?>
integer fwrite(resource $id_file,string "chaine" [,int N])
<?php
// Lire le fichier dans un tableau (morceaux)
$str = '';$fp = fopen('http://www.apcpedagogie.com', 'r') or die('ERROR: Ne peut pas ouvrir le fichier');
while (!feof($fp)) {
$str .= fgets($fp,512);
}
fclose($fp);
echo $str;
?>
- Références:
- https://www.php.net
- Livre PHP7 Cours et exercices Jean Engels 2e édition
- Technologies de l’Information et de la Communication 4 année secondaire