Wie überprüfe ich Dateiberechtigungen in PHP?
Verwenden Sie Fileperms (), um Dateiberechtigungen als Ganzzahl zu erhalten und sie mit Sprintf ('%O') zu formatieren, um die Berechtigungen im Unix-Stil wie 0644 anzuzeigen. Für praktische Zugriffsüberprüfungen verwenden Sie is_readable (), is_writable (), oder is_execable (), wenn das Skript das Skript lesen, schreiben kann oder die Datei ausführen kann. Diese Funktionen hängen vom PHP -Prozessbenutzer ab, wie z. B. dem Webserverbenutzer, nicht vom Systembenutzer.
Um die Dateiberechtigungen in PHP zu überprüfen, können Sie integrierte Funktionen verwenden, die Informationen über den Modus und die Zugriffsrechte einer Datei enthalten. Der häufigste und effektivste Weg ist die Verwendung der fileperms () -Funktion zusammen mit anderen verwandten Funktionen für eine bessere Lesbarkeit.
Verwenden Sie Fileperms (), um Rohberechtigungswerte zu erhalten
Die Funktion fileperms () gibt die Berechtigungsbits einer Datei als Ganzzahl zurück. Dieser Wert beinhaltet mehr als nur Berechtigungen (wie den Dateityp), sodass er häufig mit bitgewiehenen Operationen kombiniert wird, um nur den Berechtigungsteil zu extrahieren.
Beispiel:echo substr (Sprintf ('%o', fileperms ('example.txt'), -4);
Dies gibt ungefähr 0644 aus, was die Standard-Berechtigungen im Unix-Stil darstellt (Eigentümer, Gruppe, andere).
Überprüfen Sie den spezifischen Zugriff mit is_readable (), is_writable (), is_execable ()
Wenn Sie nicht den vollständigen Berechtigungsmodus benötigen, aber wissen möchten, ob ein Skript bestimmte Aktionen ausführen kann, verwenden Sie diese booleschen Funktionen:
- is_readable ('Dateiname') - Gibt true zurück, wenn die Datei gelesen werden kann
- is_writable ('Dateiname') - Gibt true zurück, wenn die Datei auf geschrieben werden kann
- IS_EXECABLE ('Dateiname') - Gibt true zurück, wenn die Datei ausführbar ist
if (is_readable ('config.php') { Echo "Datei ist lesbar."; }
Kombinieren Sie sich mit STAT () für detaillierte Informationen
Die Funktion STAT () gibt ein Array zurück, das verschiedene Dateidetails enthält, einschließlich Berechtigungen über den "Modus" -Endex.
$ info = stat ('Beispiel.txt'); $ Perms = $ info ['Modus'] & 0777; // Die letzten 9 Bit für RWX extrahieren Echo Sprintf ('O', $ Perms);
Diese Methode gibt Ihnen eine Steuerung auf niedriger Ebene und ist nützlich, wenn Sie mehrere Dateiattribute gleichzeitig analysieren.
Verwenden Sie im Grunde genommen Fileperms () mit Formatierung für die Anzeige oder die IS_* -Funktionen für praktische Zugriffsüberprüfungen. Beachten Sie, dass die Ergebnisse vom PHP -Prozessbesitzer (z. B. Webserverbenutzer) abhängen, nicht vom Systembenutzer, der das Skript manuell ausführt.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich Dateiberechtigungen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

UseFilter_var () tovalateMailSyntaxandCheckdnsrr () tuverifyDomainMxRecords.Example: $ EMAMME = "User@example.com"; if (f ilter_var ($ mail, filter_validate_email) && checkDnsrr (explode ('@', $ mail) [1], 'mx') {echo "validandDeliverableMail & qu

Die offizielle Website der Kook Voice-Plattform lautet https://www.kookapp.cn/, die den Login von PC-Client und Web-Version unterstützt und Multi-Terminal-Berichterstattung für Windows, Android und iOS bietet. Benutzer können den Client herunterladen oder direkt über den Browser darauf zugreifen.

Usearray_merge () tocombinearrays, überschreibende DuplicatestringKeysandReindexingnumericKeys;

UseUnSerialize (Serialize ($ OBJ)) FODEPCOPYPYWIEDALLDATAISSERIALIZIABLE; Andernfalls implementieren Sie __Clone () TomanuelleduplicatenestoBjectSandavoidSharedReferences.

NamespacesinphporganizeCodeAndPreventnamingConflictsByGroupingclasses, Schnittstellen, Funktionen und Constantsunderaspecificname.2.DefineAnaceStHenameSpaceKeyWorthetopoFafile, gefolgt von BythenameSpacename, solcheasapp \ controllers.3.

WhenextendingaclassinPHP,callparent::__construct()toensuretheparent'sinitializationlogicruns.1.Iftheparentclassconstructorsetsupessentialproperties,skippingthiscallmayresultinincompleteobjectinitialization.2.Useparent::__construct()insidethechild’sco

ToupDateadatabaserecordinphp, FirstConnectusepdoOrmysqli, ThenuSePreparedStatementStoExexexeSecuresQLUPDateQuery.example: $ pdo = newpdo ("MySQL: Host = LocalHost; dbname = your_database", $ username, $ username, $ username);

UseFileperms () TogetFilePermissionsaSanIngerandFormatitusingSPrintf ('%o') TodisplayUnix-Stil-Like0644.forpracticalaccescesCescks, Uses_readable (), is_writable (), oris_executable
