Maison développement back-end tutoriel php 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)

Mar 21, 2019 pm 03:43 PM
php 文件权限

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;;
?>
Copier après la connexion

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
?>
Copier après la connexion

Sortie :

0666
Copier après la connexion

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;;
?>
Copier après la connexion

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles