Fonction de détection d'attribut de fichier
Donnons-nous un logiciel très célèbre dans le pays. La capture d'écran du processus d'installation de Discuz montre à tout le monde :
L'exemple ci-dessus est l'utilisation typique de la détection de fichiers.
Apprenons le lot de fonctions suivant. Ensuite, apprenons à travers un exemple.
bool file_exists ($spécifiez le nom du fichier ou le chemin du fichier)
Fonction : si le fichier existe.
bool is_readable ($spécifie le nom du fichier ou le chemin du fichier)
Fonction : indique si le fichier est lisible
bool is_writeable ($spécifie le nom du fichier ou le chemin du fichier)
Fonction : si le fichier est lisible en écriture
bool is_executable ($spécifie le nom du fichier ou le chemin du fichier)
Fonction : si le fichier est exécutable
bool is_file ($spécifie le nom du fichier ou chemin du fichier)
Fonction : s'il s'agit d'un fichier
bool is_dir ($précisez le nom du fichier ou le chemin du fichier)
Fonction : s'il s'agit d'un répertoire
void clearstatcache ( void)
Fonction : vider le cache d'état du fichier
Les fonctions ci-dessus sont claires en un coup d'œil. Quant à l’expérience, écrivons l’exemple que nous avons donné au début.
Parlons du premier exemple, le verrouillage de fichiers. S'il a été installé, si le verrou d'installation existe, il vous indiquera qu'il a été installé, sinon l'installation se poursuivra.
Nous supposons que l'URL de l'interface d'installation est : install.php et que le fichier de verrouillage installé est install.lock. Nous pouvons détecter si le fichier install.lock existe.
<?php if(file_exists('install.lock')){ echo '已安装,请不要再次进行安装'; exit; } ?>
Faisons une expérience de détection d'installation de fichier pour détecter si le fichier ou le répertoire dispose d'autorisations d'écriture ou de lecture. Dans le cas contraire, l'installation ne pourra pas être effectuée.
L'idée detraiter ce problème est la suivante :
1. Définir un lot de tableaux qui doivent détecter les autorisations
2. il s'agit d'un dossier ou d'un fichier
3. Créez une variable de bit définie si la variable de bit définie est fausse, la prochaine étape de l'installation ne sera pas affichée
<?php //可以定义一批文件是否存在 $files = [ 'config.php', 'img/', 'uploads/', ]; //定义标志位变量 $flag = true; foreach($files as $v){ echo $v; //判断是文件还是文件夹 if(is_file($v)){ echo '是一个文件 '; }else if(is_dir($v)){ echo '是一个文件夹 '; } if(is_readable($v)){ echo ' 可读'; }else{ echo '<font color="red">不可读</font>'; } if(is_writeable($v)){ echo '可写'; }else{ echo '<font color="red">不可写</font>'; } echo '<br />'; } if($flag){ echo '<a href="step1">下一步</a>'; }else{ echo '不能进行安装'; } ?>
Grâce à l'exemple ci-dessus, nous l'avons fait. Implémentez la détection d'installation pendant le processus d'installation d'un certain logiciel PHP.
C'est la réalisation de notre idée ci-dessus.