Maison  >  Article  >  développement back-end  >  Fonctionnement du fichier PHP : vérifier si le fichier peut être lu/écrit/exécuté

Fonctionnement du fichier PHP : vérifier si le fichier peut être lu/écrit/exécuté

青灯夜游
青灯夜游original
2021-08-03 18:00:094588parcourir

Dans l'article précédent "Opération sur les fichiers php - lecture des fichiers ligne par ligne", nous avons présenté deux méthodes de lecture de fichiers ligne par ligne en PHP (fonctions fgets() et fgetss()). L'article suivant vous expliquera comment utiliser PHP pour vérifier si un fichier est lisible, inscriptible et exécutable.

Lorsque vous effectuez des opérations telles que la lecture et l'écriture de fichiers, vous devez d'abord vérifier si le fichier peut être lu, écrit ou exécuté, c'est-à-dire si le fichier dispose d'autorisations de lecture, d'écriture et d'exécution. Alors comment vérifier ? Aujourd'hui, nous allons vous présenter la méthode d'inspection.

Nous avons un fichier texte nommé "test.txt", utilisez la fonction chmod() pour définir les autorisations :

<?php
chmod("test.txt", 0400);
?>

Le code ci-dessus peut définir les autorisations du fichier test.txt sur : lisible par le propriétaire, et aucune autorisation par d'autres.

Voyons comment vérifier si un fichier est lisible, inscriptible et exécutable.

1. Utilisez la fonction is_readable() pour vérifier si le fichier est lisible. La fonction is_readable() peut vérifier si le fichier spécifié est lisible ; cette fonction n'accepte qu'un seul paramètre $filename, qui est utilisé pour spécifier les documents à vérifier.

Jetons un coup d'œil à l'exemple de code ci-dessous :

 <?php
 header("Content-type:text/html;charset=utf-8");
 $file = "test.txt";
 if(is_readable($file))
 {
 echo ("$file 可读");
 }
 else
 {
 echo ("$file 不可读");
 }
 ?>
$filename,用来指定需要检查的文件。

下面通过代码示例来看看:

test.txt 可读

如果$filename文件存在且可读取数据,则返回 TRUE,否则返回 FALSE。因此输出结果为:

 <?php
 header("Content-type:text/html;charset=utf-8");
 $file = "test.txt";
 if(is_writable($file))
 {
 echo ("$file 可写");
 }
 else
 {
 echo ("$file 不可写");
 }
 ?>

2、使用is_writable()函数检查文件是否可写

is_writable()函数可检查指定的文件是否可写。

该函数同样接受一个参数$filename,用来指定需要检查的文件;如果$filename文件存在且可读取数据,则返回 TRUE,否则返回 FALSE。

下面通过代码示例来看看:

test.txt 不可读

输出结果:

 <?php
 header("Content-type:text/html;charset=utf-8");
 $file = "test.txt";
 if(is_executable($file))
 {
 echo ("$file 可执行");
 }
 else
 {
 echo ("$file 不可执行");
 }
 ?>

3、使用is_executable()函数检查文件是否执行

is_executable()函数可检查指定的文件是否可执行;该函数也接受一个参数$filenameSi le fichier $filename existe et que les données peuvent être lues, il renvoie VRAI, sinon il renvoie FAUX. Par conséquent, le résultat de sortie est :

test.txt 不可执行

2. Utilisez la fonction is_writable() pour vérifier si le fichier est accessible en écriture. La fonction is_writable() peut vérifier si le fichier spécifié est accessible en écriture.

Cette fonction accepte également un paramètre $filename pour spécifier le fichier à vérifier ; si le fichier $filename existe et que les données peuvent être lues, il renvoie VRAI, sinon il renvoie FAUX.
Jetons un coup d'œil à l'exemple de code ci-dessous :

clearstatcache();

Résultat de sortie :

rrreee

3 Utilisez la fonction is_executable() pour vérifier si le fichier est exécuté. La fonction is_executable() peut vérifier si le fichier spécifié est. exécutable ; cette fonction accepte également un paramètre $filename.

rrreeeRenvoie VRAI si le fichier $filename existe et que les données peuvent être lues, sinon renvoie FAUX. Par conséquent, le résultat de sortie est : rrreee

Explication : Les résultats des fonctions is_readable(), is_writable() et is_executable() seront mis en cache, et vous devez utiliser la fonction clearstatcache() pour effacer le cache. Ajoutez le code suivant à la fin du programme pour vider le cache :

rrreee🎜C'est tout Si vous voulez savoir autre chose, vous pouvez cliquer dessus. → →🎜Fonctionnement de base des fichiers PHP🎜🎜🎜🎜Recommandé :🎜"🎜Collection de questions d'entretien PHP (collection)🎜" "🎜Tutoriel vidéo PHP🎜"🎜

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:
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