Ordnerberechtigungen auslesen mit PHP übers Netzwerk
Hallo liebes Forum
Ich bin Praktikant bei einer Softwarefirma, wo ich die Aufgabe bekommen hab die Ordnerberechtigungen auszulesen.
Ich hab es mit einigen Programmen versucht die ich im Internet gefunden hab, aber diese waren nicht das richtige, oder Sie waren kostenpflichtig.
Nun soll ich das Problem mit PHP lösen.
Zum arbeiten wurde mir ein virtueller Windows 2008 Server und ein virtueller PC mit Windows 7 bereitgestellt.
Zur Ansicht und Testzwecken benutze ich Xampp.
Mich mit dem Server zu verbinden hab ich hin bekommen, und im Internet steht, dass ich mit >>fileperms<< die Berechtgungen auslesen kann.
Nun habe ich dieses versucht, aber er gibt mit ein Fehler in Zeile 6 aus.
das Ergebnis bei einem Fehler ist "False" oder "0".
Trotz Fehlermeldung gibt er mir die "0" in der nächsten zeile aus.
Hier mal mein bisheriger Quellcode:
<?php
$loc=new COM("WbemScripting.SWbemLocator");
$wmi=$loc->ConnectServer("w2k8r2-64-fs1","root/cimv2","Anmeldenamen","Passwort");
$rechte = fileperms("../schnelltest.*");
echo sprintf("%o",$rechte);
?>
Hier die Fehlermeldung:
Warning: fileperms() [function.fileperms]: stat failed for ../schnelltest.* in C:\Xampp\xampp\htdocs\test.php on line 6
Ich habe auch was von QML erfahren, dass ich mich daran halten soll, welches aber wohl eingeschränkt sei (einige Befehle funktionieren da nicht).
Da ich von QML zum ersten mal gehört hab, hab ich davon echt keine Ahnung.
Ich hoffe ihr könnt mir weiter helfen
Vielen Dank schonmal im Vorraus
Euer Praktikant2010
Ich bin Praktikant bei einer Softwarefirma, wo ich die Aufgabe bekommen hab die Ordnerberechtigungen auszulesen.
Ich hab es mit einigen Programmen versucht die ich im Internet gefunden hab, aber diese waren nicht das richtige, oder Sie waren kostenpflichtig.
Nun soll ich das Problem mit PHP lösen.
Zum arbeiten wurde mir ein virtueller Windows 2008 Server und ein virtueller PC mit Windows 7 bereitgestellt.
Zur Ansicht und Testzwecken benutze ich Xampp.
Mich mit dem Server zu verbinden hab ich hin bekommen, und im Internet steht, dass ich mit >>fileperms<< die Berechtgungen auslesen kann.
Nun habe ich dieses versucht, aber er gibt mit ein Fehler in Zeile 6 aus.
das Ergebnis bei einem Fehler ist "False" oder "0".
Trotz Fehlermeldung gibt er mir die "0" in der nächsten zeile aus.
Hier mal mein bisheriger Quellcode:
<?php
$loc=new COM("WbemScripting.SWbemLocator");
$wmi=$loc->ConnectServer("w2k8r2-64-fs1","root/cimv2","Anmeldenamen","Passwort");
$rechte = fileperms("../schnelltest.*");
echo sprintf("%o",$rechte);
?>
Hier die Fehlermeldung:
Warning: fileperms() [function.fileperms]: stat failed for ../schnelltest.* in C:\Xampp\xampp\htdocs\test.php on line 6
Ich habe auch was von QML erfahren, dass ich mich daran halten soll, welches aber wohl eingeschränkt sei (einige Befehle funktionieren da nicht).
Da ich von QML zum ersten mal gehört hab, hab ich davon echt keine Ahnung.
Ich hoffe ihr könnt mir weiter helfen
Vielen Dank schonmal im Vorraus
Euer Praktikant2010
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 153684
Url: https://administrator.de/forum/ordnerberechtigungen-auslesen-mit-php-uebers-netzwerk-153684.html
Ausgedruckt am: 23.04.2025 um 19:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo Praktikant2010,
Codetags sind was tolles:
Hab zwar nicht wirklich Ahnung von PHP ;), aber wenn ich deinen Quellcode richtig verstehe, versuchst du die Dateirechte aller Dateien die mit schnelltest. beginnen in eine Variable zu schreiben? [schnelltest.*]
Wenn ich das fileperms - Manual richtig interpretiere, funktioniert fileperms nur mit einer Datei, jedoch nicht mit Wildcards. Hast du dahingehend schon mal probiert eine Datei direkt zu prüfen?
Mal davon abgesehen, das du mit fileperms nur Dateirechte erhältst, jedoch keine Ordnerrechte.
Edit:
<code type=php">
$rechte = fileperms("../schnelltest.*");
Eventuell hier auch mal versuchen einen festen Pfad zu verwenden, ich bin mir nicht sicher, ob es in Verbindung mit NTFS, eine solche Pfadangabe korrekt ist.
Edit2:
Ich bin mir gerade nicht sicher, wie genau der Zugriff auf den Server stattfindet per ConnectServer, damit fileperms funktioniert muss die entsprechende Datei über das Dateisystem des Servers zur Verfügung stehen, es darf sich hierbei nicht um einen Remotezugriff handeln, siehe verlinktes fileperms Manual.
Gruß Orlean
Codetags sind was tolles:
<?php
$loc=new COM("WbemScripting.SWbemLocator");
$wmi=$loc->ConnectServer("w2k8r2-64-fs1","root/cimv2","Anmeldenamen","Passwort");
$rechte = fileperms("../schnelltest.*");
echo sprintf("%o",$rechte);
?>
Hab zwar nicht wirklich Ahnung von PHP ;), aber wenn ich deinen Quellcode richtig verstehe, versuchst du die Dateirechte aller Dateien die mit schnelltest. beginnen in eine Variable zu schreiben? [schnelltest.*]
Wenn ich das fileperms - Manual richtig interpretiere, funktioniert fileperms nur mit einer Datei, jedoch nicht mit Wildcards. Hast du dahingehend schon mal probiert eine Datei direkt zu prüfen?
Mal davon abgesehen, das du mit fileperms nur Dateirechte erhältst, jedoch keine Ordnerrechte.
Edit:
<code type=php">
$rechte = fileperms("../schnelltest.*");
Eventuell hier auch mal versuchen einen festen Pfad zu verwenden, ich bin mir nicht sicher, ob es in Verbindung mit NTFS, eine solche Pfadangabe korrekt ist.
Edit2:
Ich bin mir gerade nicht sicher, wie genau der Zugriff auf den Server stattfindet per ConnectServer, damit fileperms funktioniert muss die entsprechende Datei über das Dateisystem des Servers zur Verfügung stehen, es darf sich hierbei nicht um einen Remotezugriff handeln, siehe verlinktes fileperms Manual.
Gruß Orlean