Gestion et fonctions du fichier PHP()

⚡ Résumé intelligent

Le traitement des fichiers en PHP utilise un ensemble complet de fonctions intégrées pour créer, lire, écrire, copier et supprimer des fichiers sur le serveur. Ce guide aborde les fonctions `file_exists`, `fopen` et ses modes, `fwrite`, `fclose`, `fgets`, `copy`, `unlink` et `file_get_contents` à l'aide d'exemples pratiques.

  • 📄 Quels fichiers stockent : Les fichiers contiennent les paramètres de configuration, les journaux et des données simples, offrant une option de stockage permanent économique par rapport à une base de données.
  • 🔍 Vérification des fichiers : La fonction file_exists() vérifie si un fichier existe avant de le lire ou de le créer, évitant ainsi les erreurs.
  • (I.e. Ouverture des fichiers : fopen() ouvre un fichier dans un mode tel que r, w ou a, qui contrôle la lecture, l'écriture et l'ajout.
  • ✍️ Rédaction et conclusion : La fonction fwrite() envoie des données au descripteur de fichier, et la fonction fclose() libère le descripteur une fois le travail terminé.
  • ???? Fichiers de lecture : fgets() lit une ligne à la fois, tandis que file_get_contents() renvoie le fichier entier sous forme d'une seule chaîne de caractères.
  • 🇧🇷 Copier et supprimer : La fonction copy() duplique un fichier vers un nouveau chemin, et la fonction unlink() supprime définitivement un fichier du serveur.
  • 🤖 Assistance IA : Les outils d'IA peuvent générer du code d'analyse de fichiers et résoudre rapidement les erreurs d'autorisation ou d'ouverture de flux.

Traitement de fichiers PHP

Qu'est-ce qu'un fichier ?

Un fichier est simplement une ressource permettant de stocker des informations sur un ordinateur.

Les fichiers sont généralement utilisés pour stocker des informations telles que :

  • Paramètres de configuration d'un programme
  • Des données simples telles que les noms des contacts associés à leurs numéros de téléphone.
  • Images, photos et médias similaires.

Prise en charge des formats de fichiers PHP

Les fonctions de fichiers PHP prennent en charge un large éventail de formats de fichiers, notamment :

  • Fichier.txt
  • Fichier.log
  • Extension personnalisée du fichier, par exemple fichier.xyz
  • Fichier.csv
  • Formats d'image .gif, .jpg et similaires

Les fichiers sont utiles dans plusieurs situations :

  • Elles offrent une solution de stockage de données permanente et économique pour les données simples, contrairement aux bases de données qui nécessitent d'autres logiciels et compétences pour gérer les systèmes SGBD.
  • Vous souhaitez stocker des données simples, telles que les journaux de serveur, pour une récupération et une analyse ultérieures.
  • Vous souhaitez enregistrer les paramètres du programme, c'est-à-dire le fichier program.ini.

Fonctions de fichiers PHP

PHP offre une méthode pratique pour travailler avec des fichiers grâce à sa riche collection de fonctions intégrées.

Operades systèmes tels que Windows et macOS ne sont pas sensibles à la casse, tandis que Linux or Unix les systèmes d’exploitation sont sensibles à la casse.

Adopter une convention de nommage telle que l'utilisation exclusive de lettres minuscules pour nommer les fichiers est une bonne pratique qui garantit une compatibilité maximale entre les plateformes.

Examinons maintenant quelques-unes des fonctions de fichiers PHP les plus couramment utilisées.

Fonction PHP file_exists()

Cette fonction permet de déterminer si un fichier existe ou non.

  • Cela s'avère utile lorsque nous voulons savoir si un fichier existe avant de le traiter.
  • Vous pouvez également utiliser cette fonction lors de la création d'un nouveau fichier et vous souhaitez vous assurer que le fichier n'existe pas déjà sur le serveur.

La fonction file_exists a la syntaxe suivante.

<?php
file_exists($filename);
?>

ICI,

  • « file_exists() » est la fonction PHP qui renvoie vrai si le fichier existe et faux s'il n'existe pas.
  • « $filename » correspond au chemin d'accès et au nom du fichier à vérifier.

Le code ci-dessous utilise la fonction file_exists pour déterminer si le fichier my_settings.txt existe.

<?php
if (file_exists('my_settings.txt'))
{
echo 'file found!';
}
else
{
echo 'my_settings.txt does not exist';
}
?>

Enregistrez le code ci-dessus dans un fichier nommé file_function.php. Si vous avez enregistré le fichier dans le dossier phptuts du répertoire htdocs, ouvrez le fichier. URL http://localhost/phptuts/file_function.php dans votre navigateur. Vous obtiendrez les résultats suivants.

Fonction PHP file_exists()

Fonction PHP fopen()

La fonction fopen permet d'ouvrir des fichiers. Sa syntaxe est la suivante.

<?php
fopen($file_name,$mode,$use_include_path,$context);
?>

ICI,

  • "fopen" est la fonction d'ouverture de fichier PHP
  • "$file_name" est le nom du fichier à ouvrir
  • « $mode » correspond au mode d'ouverture du fichier. Le tableau ci-dessous présente les modes disponibles.
Mode Description
r • Lire le fichier depuis le début.
• Renvoie faux si le fichier n'existe pas.
• Lecture seulement
r+ • Lire le fichier depuis le début
• Renvoie faux si le fichier n'existe pas.
• Lire et écrire
w • Écrire dans le fichier au début
• Tronquer le fichier à une longueur nulle
• Si le fichier n'existe pas, essayez de le créer.
• Écrire uniquement
w+ • Écrire dans le fichier au début, tronquer le fichier à une longueur nulle.
• Si le fichier n'existe pas, essayez de le créer.
• Lire et écrire
a • Ajouter au fichier à la fin
• Si le fichier n'existe pas, essayez de le créer.
• Écrire uniquement
a+ • Ajouter au fichier à la fin
• Si le fichier n'existe pas, essayez de le créer.
• Lire et écrire
  • L'option « $use_include_path » est facultative et sa valeur par défaut est false. Si elle est définie sur true, la fonction effectue également la recherche dans le répertoire d'inclusion.
  • « $context » est facultatif et peut être utilisé pour spécifier la prise en charge du contexte.

Fonction PHP fwrite()

La fonction fwrite est utilisée pour écrire dans des fichiers.

Il a la syntaxe suivante.

<?php
fwrite($handle, $string, $length);
?>

ICI,

  • "fwrite" est la fonction PHP pour écrire dans des fichiers
  • "$handle" est la ressource de pointeur de fichier
  • « $string » représente les données à écrire dans le fichier.
  • « $length » est facultatif et peut être utilisé pour spécifier la longueur maximale du fichier.

Fonction PHP fclose()

La fonction fclose() est utilisée pour fermer un fichier PHP déjà ouvert.

Il a la syntaxe suivante.

<?php
fclose($handle);
?>

ICI,

  • « fclose » est le Fonction PHP pour fermer un fichier ouvert
  • « $handle » est la ressource de pointeur de fichier.

Prenons maintenant l'exemple de la création du fichier my_settings.txt. Nous utiliserons les fonctions fopen, fwrite et fclose.

Le code ci-dessous « create_my_settings_file.php » implémente l'exemple ci-dessus.

Ouvrez le fichier
<?php

$fh = fopen("my_settings.txt", 'w')

or

die("Failed to create file"); ?>
Fermeture d'un dossier
<?php

fclose($fh);

?>
Créer un fichier
<?php

$fh = fopen("my_settings.txt", 'w') or die("Failed to create file");

$text = <<<_END

localhost;root;pwd1234;my_database

_END;

fwrite($fh, $text) or die("Could not write to file");

fclose($fh);

echo "File 1 written successfully"; ?>

Tester le code

Ouvrez le URL http://localhost/phptuts/create_my_settings.php dans votre navigateur.

Vous obtiendrez la page suivante.

Fonction PHP fclose

Remarque : si votre disque est plein ou si vous n'êtes pas autorisé à écrire des fichiers, vous recevrez un message d'erreur.

Revenez à la URL http://localhost/phptuts/file_function.phpQuels résultats obtenez-vous ?

Fonction PHP fgets()

La fonction fgets permet de lire les fichiers PHP ligne par ligne. Sa syntaxe de base est la suivante.

<?php
fgets($handle);
?>

ICI,

  • « fgets » est la fonction PHP permettant de lire les lignes d'un fichier.
  • « $handle » est la ressource de pointeur de fichier.

Examinons maintenant un exemple qui lit le fichier my_settings.txt à l'aide des fonctions fopen et fgets.

Le code ci-dessous read_my_settings.php implémente l'exemple ci-dessus.

<?php
$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");
$line = fgets($fh);
echo $line; fclose($fh);
?>

ICI,

  • La fonction « fopen » renvoie le pointeur vers le fichier spécifié dans le chemin du fichier
  • La fonction « die() » est appelée en cas d'erreur. Elle affiche un message et interrompt l'exécution du script.

Fonction PHP copy ()

La fonction PHP copy permet de copier des fichiers. Sa syntaxe de base est la suivante.

<?php
copy($file,$copied_file);
?>

ICI,

  • « $file » spécifie le chemin du fichier et le nom du fichier à copier.
  • « $copied_file » spécifie le chemin et le nom du fichier copié

Le code ci-dessous illustre l'implémentation.

<?php
copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");
echo "File successfully copied to 2";
?>

Suppression d'un fichier

La fonction `unlink` permet de supprimer un fichier. Le code ci-dessous illustre sa mise en œuvre.

<?php
if (!unlink('my_settings_backup.txt'))
{
echo "Could not delete file";
}
else
{
echo "File 1 successfully deleted";
}
?>

Fonction PHP file_get_contents()

La fonction file_get_contents est utilisée pour lire l'intégralité du contenu du fichier.

La différence entre file_get_contents et fgets est que file_get_contents renvoie les données du fichier sous forme de chaîne de caractères, tandis que fgets lit le fichier ligne par ligne.

Le code ci-dessous illustre l'implémentation.

<?php
echo "<pre>"; // Enables display of line feeds
echo file_get_contents("my_settings.txt");
echo "</pre>"; // Terminates pre tag
?>

Guide rapide des fonctions de fichiers PHP

Le tableau ci-dessous récapitule les fonctions de fichiers abordées dans ce tutoriel.

Fonction Description
file_exists Utilisé pour déterminer si un fichier existe ou non
ouvrir Utilisé pour ouvrir un fichier. Renvoie un pointeur vers le fichier ouvert
fécrire Utilisé pour écrire dans des fichiers
fermer Utilisé pour fermer un fichier ouvert
fgets Utilisé pour lire un fichier ligne par ligne
copier Utilisé pour copier un fichier existant
dissocier Utilisé pour supprimer un fichier existant
file_get_contents Utilisé pour renvoyer le contenu d'un fichier sous forme de chaîne

FAQ

fgets lit une ligne par appel, fread lit un nombre défini d'octets à partir d'un descripteur ouvert, et file_get_contents lit l'intégralité du fichier dans une chaîne en un seul appel sans avoir besoin de fopen ou fclose.

La fonction `fwrite` écrit dans un descripteur de fichier ouvert et nécessite les fonctions `fopen` et `fclose`. La fonction `file_put_contents` ouvre, écrit et ferme le fichier en un seul appel, ce qui en fait le choix le plus court pour les écritures simples.

Utilisez `is_writable('file.txt')` pour vérifier les permissions d'écriture avant d'écrire dans le fichier, et `file_exists()` pour confirmer son existence. Sous Unix, `chmod()` permet de modifier les permissions si le serveur web est propriétaire du fichier.

Oui. Décrivez le format (CSV, JSON, structure de journal, etc.) et l'IA générera du code à l'aide de `fgetcsv`, `json_decode` ou d'une boucle personnalisée, avec gestion des erreurs pour les fichiers manquants ou malformés. Testez avec des données réelles.

Oui. Indiquez le chemin d'accès et l'erreur, et l'IA pourra identifier un chemin relatif incorrect, un fichier manquant ou un problème d'autorisations, puis suggérer d'utiliser un chemin absolu, de créer le fichier ou d'ajuster les autorisations.

Résumez cet article avec :