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 :