Chmod & PHP

undertaker

Mitglied
Hallo! ich weiß das Thema gab es schon 100 mal aber ich habe nirgends das gefunden, was ich wissen will:
Ich habe mittels PHP ordner erstellt und in diese ordner, ebenfalls mittels PHP Dateien geladen. Dem ordner gab ich mit PHP die Rechte 0777 aber wenn ich ihn im FTP-Proggie ansehe dann hat er nur 755. Das ist nicht weiter schlimm. Da ich ihn trotzdem über FTP löschen kann.
Aber die Dateien in den Ordnern sind nur mittels PHP script zu löschen.
Da ich viele Ordner anlegen alssen will mit vielen Dateien wollte ich fragen ob es irgendwie möglich ist, Dateinen, die mit einem PHP Script erstellt worden sind, mittels eines FTP-Programms zu löschen
mfg
 
Doch, das Thema hatten wir schon öfter. Sicher hast Du nicht die richtigen Suchbegriffe gekannt. Fakt ist, das PHP nicht direkt CHMOD 777 vergeben kann. Das ist eine Sicherheitseinstellung bei den Servern.
Versuche zuerst z. B. 666 und danach 777 zu vergeben.

Das Problem mit den unlöschbaren Dateien kann am unterschiedlichen User liegen. Wenn php Dateien auf den Server aufspielt oder generiert, passiert das unter Linux meist unter dem User www-run (o.ä.). Wenn Du nun über FTP darauf zugreifst, bist Du ein anderer User, und ohne alle Rechte, kannst Du die Dateien nicht löschen, nur als PHP-User.

Das Problem würde sich gar nicht stellen, wenn man über den suexec Wrapper arbeiten würde. PHP würde z. B. als Dein FTP-User ausgeführt werden ! Aber das liegt im ermessen des Administrators :rolleyes:

Hoffe ich konnte Dir helfen ;)
 
ok danke!
Das Problem erkenne ich jetz jetzt werde ich entweder nen gescheiden Löschscript schreibn oder das Mit PHP über FTP machen!

Noch was:
Wie kann ich mir alle Unterordner in einem Ordner Ausgeben lassen
 
Meinst du im aktuellen Ordner die Unterordner oder auch die Unterordner der Unterordner... ?
einfach den Inhalt des aktuellen Verzeichnisses auslesen, bei jedem EIntrag schauen ob es ein Verzeichnis ist (is_dir()) usw....
kann aber auch sein das es da was einfacheres gibt. Ist mir nur so spontan eingefallen.
Vielleicht gibts ja schon was fertiges bei PEAR
 
keine garantie das es läuft:

PHP:
$basedir = ".";
// functions
function listdir($basedir,&$a_dir){
	if ($handle = @opendir($basedir)) {
		while (false !== ($dir = readdir($handle)))
		{
			if ($dir == '.' || $dir == '..'){
			} else {
				if (is_dir($basedir."/".$dir)){
echo $basedir."/".$dir;
					$a_dir[] = $basedir."/".$dir;
					listdir($basedir."/".$dir,$a_dir);
				}
			}
		}
		closedir($handle);
	}
	return $a_dir;
}
listdir($basedir,$a_dir);
 
Zurück