Méthodes pour obtenir la saisie de l'utilisateur : explication détaillée de la fonction PHP fgets()

WBOY
Libérer: 2023-06-27 09:44:02
original
1238 Les gens l'ont consulté

Dans la production de pages Web, obtenir la contribution des utilisateurs est une étape importante. PHP est un langage de script puissant qui peut être utilisé avec HTML pour effectuer différentes tâches, notamment obtenir les commentaires de l'utilisateur. En PHP, il existe de nombreuses fonctions qui peuvent être utilisées pour obtenir les entrées de l'utilisateur, l'une des fonctions les plus courantes est fgets(). Cet article présentera en détail l'utilisation et les précautions d'utilisation de la fonction PHP fgets().

1. Utilisation de base de la fonction fgets()

La fonction PHP fgets() est utilisée pour lire une ligne dans un fichier. Sa syntaxe est la suivante :

fgets(file,length)
Copier après la connexion

Parmi eux, le paramètre file. est requis, il spécifie le nom ou le descripteur de fichier du fichier à lire. Si vous utilisez un nom de fichier, vous devez utiliser le chemin d'accès au fichier utilisé lors de l'ouverture du fichier. Le paramètre length est facultatif et spécifie le nombre d'octets à lire. S'il n'est pas spécifié, sa valeur par défaut est 1024. file 参数是必需的,它指定要读取的文件的名称或文件句柄。如果您使用文件名,则需要使用打开文件时使用的文件路径。length 参数是可选的,它指定要读取的字节数,如果没有指定,则默认为 1024。

例如,以下代码演示了如何使用 fgets() 函数从文件中读取一行:

<?php
$file = fopen("test.txt", "r") or die("无法打开文件!");
echo fgets($file);
fclose($file);
?>
Copier après la connexion

在此示例中,我们使用 fopen() 函数打开 test.txt 文件,并通过 r 模式指定只读访问模式。接下来,使用 fgets() 函数读取文件的第一行。最后,使用 fclose() 函数关闭文件句柄。

二、fgets() 函数的特殊用法

fgets() 函数还可以从用户输入的命令行读取输入。对于这种情况,需要将文件句柄指定为标准输入流 STDIN。例如,以下代码演示如何使用 fgets() 函数从命令行读取输入:

<?php
echo "请输入您的名字:";
$name = fgets(STDIN);
echo "您好," . $name;
?>
Copier après la connexion

在这个例子中,fgets(STDIN) 读取命令行输入,而不是文件输入。由于没有指定 length 参数,因此 fgets() 函数将读取输入中的所有字符,直到遇到换行符为止。最后,将读取的名字与字符串拼接,并输出到命令行中。

需要注意的是,由于 fgets() 函数从 STDIN 读取输入时会将换行符包括在内,因此在输出结果时可能需要删除换行符。可以使用 trim()

Par exemple, le code suivant montre comment lire une ligne d'un fichier à l'aide de la fonction fgets() :

while(!feof($file)){
   $line = fgets($file);
   if(strlen($line) > 0){
      //处理代码      
   }
}
Copier après la connexion
Dans cet exemple, nous utilisons la fonction fopen() pour ouvrir le fichier test.txt et spécifier le code de lecture. Accédez uniquement au mode via le mode R. Ensuite, utilisez la fonction fgets() pour lire la première ligne du fichier. Enfin, le handle de fichier est fermé à l’aide de la fonction fclose().

2. Utilisation particulière de la fonction fgets()
  1. La fonction fgets() peut également lire les entrées de la ligne de commande saisie par l'utilisateur. Dans ce cas, le descripteur de fichier doit être spécifié comme flux d’entrée standard STDIN. Par exemple, le code suivant montre comment utiliser la fonction fgets() pour lire l'entrée de la ligne de commande :
  2. rrreee
  3. Dans cet exemple, fgets(STDIN) lit l'entrée de la ligne de commande, pas l'entrée du fichier. Étant donné que le paramètre length n'est pas spécifié, la fonction fgets() lit tous les caractères de l'entrée jusqu'à ce qu'un caractère de nouvelle ligne soit rencontré. Enfin, le nom lu est concaténé avec la chaîne et affiché sur la ligne de commande.
Il convient de noter que puisque la fonction fgets() inclut des nouvelles lignes lors de la lecture des entrées de STDIN, vous devrez peut-être supprimer les nouvelles lignes lors de la sortie des résultats. Vous pouvez utiliser la fonction trim() pour supprimer les espaces et les nouvelles lignes aux deux extrémités d'une chaîne.
  1. 3. Précautions d'utilisation de la fonction fgets()
Lors de l'utilisation de la fonction fgets(), vous devez faire attention aux points suivants :

🎜La fonction fgets() peut lire des chaînes contenant des nouvelles lignes, donc lors de la sortie des résultats Des précautions doivent être prises pour supprimer les nouvelles lignes. La fonction 🎜🎜fgets() peut lire des lignes de longueur nulle, vous devez donc faire attention à l'utilisation d'une boucle while lors de la lecture de fichiers pour éviter les boucles infinies. La fonction 🎜🎜rrreee🎜🎜fgets() peut lire des chaînes contenant des caractères nuls, ce qui peut entraîner une corruption des données ou des failles de sécurité. Pour éviter cela, fgetcsv() doit être utilisé à la place de fgets(). 🎜🎜🎜En bref, la fonction fgets() est l'une des méthodes couramment utilisées pour obtenir les entrées de l'utilisateur en PHP et peut lire les entrées de fichiers et de lignes de commande. Lorsque vous utilisez des fonctions, vous devez faire attention aux points ci-dessus pour éviter des erreurs inattendues. 🎜

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!