Un tutoriel pour obtenir les propriétés d’un fichier (nom, extension, chemin, taille, date de modification, …) et écrire dans un fichier avec la classe PHP SplFileInfo
PHP offre des nombreuses fonctions sur les systèmes de fichiers. Et Depuis sa version 5.1.2, il nous propose la classe SplFileInfo qui fournit une interface de haut niveau avec les informations de fichiers et les méthodes pour les manipuler (ouvrir, écrire, …)
La classe SplFileInfo nous permet d'obtenir les informations suivantes d'un fichier :
Prenons deux exemples pour voir comment utiliser SplFileInfo pour obtenir les informations d’un fichier ou y écrire :
Pour accéder aux informations d’un fichier, il faut construire (constructeur) un nouvel objet SplFileInfo en indiquant le chemin vers le fichier à traiter. C’est à partir de cet objet que nous pouvons ensuite appeler les différentes méthodes :
<?php
// Création d'un objet SplFileInfo sur le fichier courant
$fichier = new SplFIleinfo(__FILE__);
// On vérifier si ce fichier est un véritable fichier
if (!$fichier->isFile()) {
die('Fichier requis pour poursuivre');
}
?><!DOCTYPE html>
<html>
<head>
<title>Les informations du fichier courant</title>
<meta charset="utf-8">
</head>
<body>
<p>Nom du fichier : <?= $fichier->getFilename() ?></p>
<p>Extension : <?= $fichier->getExtension() ?></p>
<p>Type : <?= $fichier->getType() ?></p>
<p>Taille : <?= $fichier->getSize() ?> octets</p>
<p>Chemin absolu : <?= $fichier->getRealpath() ?></p>
<p>Date de modification : <?= date('d/m/Y', $fichier->getCTime()) ?></p>
</body>
</html>
À partir d’un objet SplFileInfo, nous pouvons ouvrir un fichier en indiquant le mode d'ouverture (voir la fonction fopen() pour les modes). Cela nous donne un objet SplFIleObject à partir duquel nous avons accès aux méthodes de manipulation de fichier :
<?php
// Création d'un objet SplFileInfo sur le fichier "test.txt"
$fichier = new SplFIleinfo("test.txt");
// On ouvre le fichier en écriture seule, on le crée s'il n'existe pas
$fichier_content = $fichier->openFile("w");
// On vérifier si on peut écrire dans le fichier
if ($fichier->isWritable()) {
// On écrit "We love PHP" dans le fichier
$fichier_content->fwrite("We love PHP");
}
?>
Portez-vous bien ! 😎
Cette publication vous a plu ?
Partagez-la avec vos ami(e)s sur les réseaux sociaux.
Wilo Ahadi, l'auteur
Passionné de l'informatique, je suis spécialiste en techniques des systèmes et réseaux, développeur web et mobile, infographiste et designer, ... J'aime partager mon expérience en formant sur la plateforme Akili School
Voir profil
Commentaires