Maison >développement back-end >tutoriel php >Fonctionnement du fichier PHP : vérifier si le fichier peut être lu/écrit/exécuté
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.
<?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()函数可检查指定的文件是否可执行;该函数也接受一个参数$filename
Si 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 :
rrreee3 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
.
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!