Maison > développement back-end > tutoriel php > Écrivez dans des fichiers et lisez des fichiers avec PHP

Écrivez dans des fichiers et lisez des fichiers avec PHP

Christopher Nolan
Libérer: 2025-03-05 11:26:09
original
992 Les gens l'ont consulté

Write to Files and Read Files With PHP

Ce tutoriel présentera plusieurs fonctions de lecture et d'écriture de fichiers importants dans PHP, qui sont suffisants pour répondre à vos besoins de lecture et d'écriture de base. Vous apprendrez à lire des fichiers, à écrire des fichiers, à écrire des fichiers texte et à vérifier si les fichiers existent.

En tant que développeur PHP, le traitement de fichiers est une action que vous devez souvent faire.

Vous pouvez utiliser des fonctions de traitement de fichiers PHP pour manipuler des fichiers à bien des égards. Ces fonctions peuvent être utilisées pour créer une variété de fonctions dans votre application, de la journalisation des erreurs personnalisées au stockage de fichiers mis en cache. Des exemples d'outils utilitaires que vous pouvez créer avec ces fonctions comprennent:

  • outils de journalisation et de débogage personnalisés
  • Stockage de configuration d'application
  • Cache frontale et application
  • Support de localisation
  • attendre

Heureusement, PHP fournit de nombreuses fonctions pour lire et écrire des données de fichiers. Dans ce tutoriel, je vais vous montrer le moyen le plus simple de lire les données de fichiers locales ou distantes et comment utiliser les drapeaux pour écrire des fichiers avec précision.

$filename = 'https://www.gutenberg.org/cache/epub/1228/pg1228.txt';
$book_content = file_get_contents($filename);
file_put_contents('Biology/Evolution/On the Origin of Species [Charles Darwin].txt', $book_content, LOCK_EX);
Copier après la connexion

Vous pouvez enregistrer le contenu d'un site Web tel que les pages Web ou Wikipedia de la même manière. Si vous devez comprendre le contenu HTML ou Parse HTML que vous venez d'enregistrer localement, vous pouvez vous référer à un tutoriel similaire à "Parase HTML avec Didom", qui vous aidera automatiquement à obtenir des liens, des fichiers d'image ou toute autre information de ce type à partir d'une page Web.

Revenons maintenant au fichier local. Supposons que vous ayez un tas de fichiers texte et que vous souhaitez analyser leur contenu pour voir des informations telles que les mots les plus courants. Cela peut être facilement implémenté en utilisant de nombreuses fonctions PHP intégrées.

$filename = 'On the Origin of Species [Charles Darwin].txt';
$book_content = file_get_contents($filename);

$book_content_lowercase = strtolower($book_content);

$individual_words = explode(' ', $book_content_lowercase);
echo "该书大约有 " . count($individual_words) . " 个单词:" . substr($filename, 0, -4) . "。\n";

$word_frequency = array_count_values($individual_words);
echo "该书中共有 " . count($word_frequency) . " 个独特的单词。\n";
echo "单词'Elephant'在书中出现了 " . $word_frequency["elephant"] . " 次。\n";
echo "单词'Ant'在书中出现了 " . $word_frequency["ant"] . " 次。\n";

if (isset($word_frequency["evolution"])) {
    echo "单词'Evolution'在书中出现了 " . $word_frequency["evolution"] . " 次。\n";
} else {
    echo "单词'Evolution'在书中一次也没有出现。\n";
}

arsort($word_frequency);
echo "该书中使用最多的单词是:'" . key($word_frequency) . "'。\n";

/* 以上所有代码的输出

该书大约有 147520 个单词:On the Origin of Species [Charles Darwin]。
该书中共有 22758 个独特的单词。
单词'Elephant'在书中出现了 3 次。
单词'Ant'在书中出现了 6 次。
单词'Evolution'在书中一次也没有出现。
该书中使用最多的单词是:'the'。
*/
Copier après la connexion

Nous convertissons tout le texte en minuscules et supposons que chaque mot se casse dans les espaces. Utilisez ensuite les fonctions fread et fread() pour convertir le texte en un tableau.

fopen Fonction.

Le premier paramètre de la fonction

fopen est utilisé pour obtenir le pointeur du système de fichiers.

Exemple d'utilisation de la fonction

fopen. fwrite fonction

fwrite Fonction

Regardons l'exemple suivant pour voir comment fwrite fonctionne.

$file_handle = fopen('/home/tutsplus/files/tmp.txt', 'a+');
fwrite($file_handle, 'Tuts+ is a great online resource to learn skills you want!');
fwrite($file_handle, "\n");
fwrite($file_handle, 'Visit tutsplus.com to know more!');
fclose($file_handle);
Copier après la connexion

Tout d'abord, nous ouvrons le fichier a /home/tusplus/files/tmp.txt en mode , qui ouvre le fichier pour la lecture et l'écriture, et le pointeur de fichier est à la fin du fichier. Par conséquent, notre contenu sera annexé à la fin du fichier, après tout autre contenu. Ensuite, nous utilisons la fonction fwrite pour écrire une chaîne.

Comme indiqué dans l'exemple ci-dessus, vous pouvez utiliser la fonction fwrite pour écrire une série de chaînes plusieurs fois avant de fermer le fichier.

Enfin, nous utilisons la fonction fclose pour fermer le fichier. Il n'accepte qu'un seul paramètre, le pointeur de fichier que vous souhaitez fermer. Une fois l'opération de fichier terminée, il est toujours recommandé d'utiliser la fonction fclose pour fermer le fichier.

En fin de compte

Il existe de nombreuses autres façons de lire et d'écrire des données de fichiers dans PHP. Cependant, file_get_contents() et file_put_contents() répondra à presque tous vos besoins de base sans ajouter de complexité inutile.

Vous ne pouvez rencontrer le problème avec file_get_contents() que lorsque le fichier que vous lisez est très grand (par exemple, la taille est de 2 Go ou plus). En effet, file_get_contents() chargera immédiatement le fichier entier en mémoire, et pour un fichier aussi important, il est susceptible de manquer de mémoire. Dans ce cas, vous devez compter sur des fonctions comme fgets() et fread() pour lire une petite partie du fichier à la fois.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal