Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
chmod eines Verzeichnisses prüfen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
chmod eines Verzeichnisses prüfen


 
israelsson
18-01-2006, 17:43 
 
Wie kann ich überprüfen ob der CHmod eines Verzeichnisses 0777 entspricht?

Da ich Save_mode on habe muss jedes Verzeichnis, in das ich Dateien per PHP hochladen möchte, über FTP erstellt werden und natürlich dann per Hand 0777 chmod bekommen. Nun soll aber geprüft werden, bevor Dateien hochgeladen werden in das Verzeichnis, ob der chmod richtig ist oder ob der Wert noch nicht richtig gesetzt wurde (vergessen wurde)...

oder kann ich trotz savemode mit umask() den chmod über das php script ändern und dann dieses Verzeichnis zum hochladen nutzen?

 
israelsson
18-01-2006, 17:48 
 
oh ich hab grade gelesen:

umask() ohne Argument gibt aktuellen chmod zurück.

if(umask() != "0777") {
echo "CHMOD nicht auf 777";
}


Aber ich muss ja auch irgendwie dem umask() sagen das ich chmod von einem bestimmten Verzeichnis möchte und nicht dem aktuellen in dem sich die php datei befindet.
Wie kann ich das machen?

oder kann ich auch einfach anstelle der echo ausgabe umask(0777) sagen? Also dem Verzeichnis dann die 777 Rechte geben, trotz Savemode?

 
ghostgambler
18-01-2006, 18:11 
 
Original geschrieben von israelsson
oder kann ich auch einfach anstelle der echo ausgabe umask(0777) sagen? Also dem Verzeichnis dann die 777 Rechte geben, trotz Savemode?
es geht schneller, wenn du einfach ausprobierst >_>


btw. http://de.php.net/manual/de/function.chmod.php
If you cannot chmod files/directories with PHP because of safe_mode restrictions, but you can use FTP to chmod them, simply use PHP's FTP-functions (eg. ftp_chmod or ftp_site) instead. Not as efficient, but works.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:23 Uhr.