php lire le fichier

Dans la section précédente, nous avons parlé des opérations sur les fichiers. La lecture de fichiers est l'une des fonctions les plus couramment utilisées.

readfile lit un fichier

Alors comment lire un fichier ? Apprenons d'abord une fonction.

int readfile (string $filename)

Fonction : transmettre un chemin de fichier et générer un fichier.

Dans le code ci-dessous, le fichier est lu tant que le nom du fichier ou le chemin du fichier spécifié est transmis.

<?php
   //linux类的读了方式
   readfile("/home/paul/test.txt");
   //windows类的读取方式
   readfile("c:\boot.ini");
?>

Remarque : la barre oblique Windows dans le code ci-dessus est une barre oblique et certains caractères peuvent être échappés. Par conséquent, lorsque nous écrivons, nous écrivons deux barres obliques.

file_get_contents ouvre le fichier

Ce qui précède consiste simplement à ouvrir le fichier et à le sortir directement. Existe-t-il une méthode d'opération qui peut être attribuée à une variable après l'ouverture du fichier. déposer.

PHP fournit certainement cette méthode. Cette méthode est l'une des façons dont PHP ouvre un fichier et renvoie le contenu. Jetons un coup d'œil à la fonction :

string file_get_contents (string filename)

Fonction. : Transmettez un fichier ou un chemin de fichier, l'ouverture de ce fichier renvoie le contenu du fichier. Le contenu du fichier est une chaîne.

<?php

   $filename = 'NoAlike.txt';

   $filestring = file_get_contents($filename);
   echo $filestring;
?>

Le code ci-dessus ouvre un fichier et affiche le contenu du fichier.

Développons le code en fonction des connaissances précédentes. Utilisez vos connaissances antérieures.

<?php
   //假设我们有一个多行的文件叫NoAlike.txt,没有的话你可以新建一个这个文件
    $filename = 'NoAlike.txt';


   //打开这个文件,将文件内容赋值给$filestring
   $filestring = file_get_contents($filename);

   //因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组
   $filearray = explode("\n", $filestring);

   //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。
   while (list($key, $val) = each($filearray)) {
       ++$key;
       $val = trim($val);

       //用的单引号,单引号不解释变量进行了拼接而已
       print 'Line' . $key .':'.  $val.'<br />';
   }
?>

Ci-dessus, nous avons combiné les connaissances que nous avons apprises auparavant.

Les opérations fopen, fread et fclose lisent des fichiers

La méthode file_get_contents ci-dessus pour ouvrir un fichier est simple et grossière. La ressource suivante

ressource fopen (string $filename, mode chaîne)

string fread (ressource $opération ressource, longueur de lecture int)

bool fclose (resource $opération ressource)

Grâce à la fonction ci-dessus, nous expliquerons les méthodes de fonctionnement habituelles des types de ressources :

1 .Ouvrir les ressources

2. Utiliser les fonctions associées pour fonctionner

3. Fermer les ressources

Fonction fopen La fonction de la fonction fopen est d'ouvrir un fichier. Il y a deux paramètres principaux :

1 Le chemin pour ouvrir le fichier

<🎜. >2. Ouvrez le fichier Le type de retour du modèle

est un type de ressource Pour la première fois, nous avons rencontré le type de ressource mentionné dans le type de base précédent.

Le type de ressource nécessite d'autres fonctions pour faire fonctionner cette ressource. Toutes les ressources doivent être fermées lors de leur ouverture.

Fonction fread La fonction de la fonction est de lire la ressource du fichier ouvert. Lisez la ressource fichier de la longueur spécifiée, lisez-en une partie et déplacez-la vers l'arrière. jusqu'à la fin du fichier.

Fonction fclose La fonction fclose est de fermer les ressources. Les ressources sont ouvertes et fermées.

Après avoir compris les fonctions, les deux dernières fonctions sont relativement simples. Quels sont les modes de la fonction fopen ? Les modes de fopen sont les suivants Parlons des modes de fopen :

ModeDescription
r Ouvrez en mode lecture seule et pointez le pointeur du fichier vers l'en-tête du fichier.
r+Ouvrez en mode lecture-écriture et pointez le pointeur du fichier vers l'en-tête du fichier.
wOuvrez en mode écriture, pointez le pointeur du fichier sur l'en-tête du fichier et tronquez la taille du fichier à zéro. Si le fichier n'existe pas, essayez de le créer
w+Ouvrez-le en mode lecture-écriture, pointez le pointeur du fichier sur l'en-tête du fichier et tronquer la taille du fichier à zéro. Si le fichier n'existe pas, essayez de le créer
aOuvrir en écriture, en pointant le pointeur de fichier vers la fin du fichier. Si le fichier n'existe pas, essayez de le créer
a+Ouvrez-le en mode lecture-écriture et pointez le pointeur du fichier vers la fin du déposer. Si le fichier n'existe pas, essayez de le créer
xCréez-le et ouvrez-le en écriture, en pointant le pointeur du fichier vers l'en-tête du fichier. Si le fichier existe déjà, l'appel fopen() échoue et renvoie FALSE et génère un message d'erreur de niveau E_WARNING. Si le fichier n'existe pas, essayez de le créer
x+
模式说明
r只读方式打开,将文件指针指向文件头。
r+读写方式打开,将文件指针指向文件头。
w写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
w+读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
a写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
a+读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之
x创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建
x+

创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创

Créez-le en mode lecture-écriture Ouvrez et pointez le pointeur de fichier vers l'en-tête du fichier. Si le fichier existe déjà, l'appel fopen() échoue et renvoie FALSE et génère un message d'erreur de niveau E_WARNING. Si le fichier n'existe pas, essayez de le créer Create , nous n'apprendrons que le mode r, et nous parlerons de plusieurs autres modes lors de l'écriture sur la fin de la leçon.

Il faut d'abord savoir lire des fichiers avant de bien maîtriser l'écriture de fichiers.

1. Ouvrez le fichier

<?php
   //你可以创建一个NoAlike.txt,以只读模式打开
   $fp = fopen('NoAlike.txt', "r");


   //var_dump()操作一下$fp看看效果,输出的是不是只有类型提示的是resource
   var_dump($fp);
?>

2 Lisez le fichier

<?php
   $fp = fopen('NoAlike.txt', "r");

   //打开一个文件类型后,读取长度
   $contents = fread($fp, 1024);
?>

3 Fermez le fichier

<?php
   $fp = fopen($filename, 'r');
   $contents = fread($fp, 1024);
   fclose($fp);
   echo $contents;
?>

Autres notes :

<🎜. >

模式说明
twindows下将n转为rn
b二进制打开模式
Remarque :



L'expérience ne peut pas permettre à l'œil nu de voir l'effet expérimental. N'oubliez pas cette fonctionnalité.

Windows fournit une balise de conversion de texte (« t ») pour convertir de manière transparente n en rn.

Contrairement à cela, vous pouvez également utiliser 'b' pour forcer le mode binaire afin que les données ne soient pas converties. Pour utiliser ces indicateurs, utilisez « b » ou « t » comme dernier caractère de l'argument mode.


Formation continue

||
<?php $fp = fopen('NoAlike.txt', "r"); //打开一个文件类型后,读取长度 $contents = fread($fp, 1024); ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel