Maison  >  Article  >  développement back-end  >  Comment PHP gère-t-il les autorisations de fichiers ? (exemple de code)

Comment PHP gère-t-il les autorisations de fichiers ? (exemple de code)

青灯夜游
青灯夜游original
2019-03-21 15:43:152609parcourir

Les autorisations de fichiers font référence aux opérations qui peuvent être effectuées sur des fichiers spécifiques du système, telles que la lecture, l'écriture ou l'exécution du fichier. L'article suivant vous expliquera comment vérifier et modifier les autorisations de fichiers à l'aide de PHP. J'espère qu'il vous sera utile.

Comment PHP gère-t-il les autorisations de fichiers ? (exemple de code)

PHP accordera automatiquement les autorisations appropriées en coulisses. Par exemple, si vous créez un nouveau fichier en écriture, PHP lui accordera automatiquement les autorisations de lecture et d'écriture. De plus, PHP fournit des fonctions utiles pour vérifier et modifier les autorisations de fichiers.

Comment vérifier les autorisations de fichiers en PHP ?

PHP nous fournit trois fonctions pour vérifier les autorisations de fichiers :

Fonction is_readable() : utilisée pour vérifier s'il y a une autorisation de lecture Si la lecture est autorisée Si le fichier. est récupéré, true est renvoyé, sinon false est renvoyé.

Fonction is_writable() : utilisée pour vérifier s'il existe une autorisation d'écriture. Si l'écriture dans le fichier est autorisée, elle renvoie vrai, sinon elle renvoie faux.

Fonction is_executable() : utilisée pour vérifier s'il existe une autorisation d'exécution. Si le fichier est autorisé à être exécuté, il renvoie vrai, sinon il renvoie faux.

Exemple de code :

<?php 
header("content-type:text/html;charset=utf-8");
$fn = &#39;demo/test.txt&#39;;
 
$msg = is_readable($fn) ? $msg = &#39;文件是可读的&#39;
 : $msg = &#39;文件不可读&#39;;
echo $msg . &#39;<br/>&#39;;
 
$msg = is_writable($fn) ? $msg = &#39;文件是可写的&#39;
 : $msg = &#39;文件不可写&#39;;
 
echo $msg . &#39;<br/>&#39;;
 
$msg = is_executable($fn) ? $msg = &#39;文件是可执行的&#39;
   : $msg = &#39;文件不可执行&#39;;
 
echo $msg . &#39;<br/>&#39;;
?>

Sortie :

Comment PHP gère-t-il les autorisations de fichiers ? (exemple de code)

En plus de ces fonctions, PHP fournit également la fonction fileperms(), which La fonction renvoie un entier représentant les autorisations définies sur un fichier spécifique.

<?php 
$fn = &#39;demo/test.txt&#39;;
$fp = fileperms($fn);

echo substr(sprintf(&#39;%o&#39;, $fp), -4); //0666
?>

Sortie :

0666

Comment modifier les autorisations de fichiers en PHP ?

Pour modifier les autorisations ou les modes de fichiers, vous devez utiliser la fonction chmod(). Tout d’abord, vous devez transmettre le nom du fichier pour lequel vous souhaitez définir les autorisations. Vous devez ensuite spécifier les autorisations requises. La fonction chmod() renverra true si les autorisations sont définies avec succès, sinon elle renverra false.

Les autorisations de fichiers sont représentées par des nombres octaux à trois chiffres :

● Le premier chiffre spécifie ce que le propriétaire du fichier peut faire avec le fichier.

● Le deuxième numéro précise les opérations que le groupe propriétaire du fichier peut effectuer sur le fichier.

● Le troisième chiffre précise les actions que chaque personne peut effectuer sur le dossier.

Le tableau suivant illustre la valeur de chaque nombre qui représente les droits d'accès pour un utilisateur spécifique (utilisateur, groupe d'utilisateurs ou tout le monde) :

● 0 : Impossible de lire, d'écrire ou d'exécuter

● 1 : Peut uniquement exécuter

● 2 : Peut uniquement écrire

● 3 : Peut écrire et exécuter

● 4 : Peut uniquement lire

● 5 : Peut lire et exécuter

● 6 : Peut lire et écrire

● 7 : Peut lire, écrire et exécuter

Par exemple, pour définir le créateur ou le propriétaire Le fichier ne peut être lu que par l'auteur, et autres, nous utilisons le code suivant :

<?php 
$fn = &#39;demo/test.txt&#39;;
//更改权限
chmod($fn, 0444);

//读取权限
$msg = is_readable($fn) ? $msg = &#39;文件是可读的&#39;
 : $msg = &#39;文件不可读&#39;;
echo $msg . &#39;<br/>&#39;;
 
$msg = is_writable($fn) ? $msg = &#39;文件是可写的&#39;
 : $msg = &#39;文件不可写&#39;;
 
echo $msg . &#39;<br/>&#39;;
 
$msg = is_executable($fn) ? $msg = &#39;文件是可执行的&#39;
   : $msg = &#39;文件不可执行&#39;;
 
echo $msg . &#39;<br/>&#39;;
?>

Sortie :

Comment PHP gère-t-il les autorisations de fichiers ? (exemple de code)

Remarque : on met avant 644 0, en demandant à PHP de l'interpréter comme un nombre octal.

Tutoriels vidéo recommandés : "Tutoriel PHP"

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

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