Datei vom Server löschen

LoMo

Erfahrenes Mitglied
Ich hab ein Problem und zwar wenn der Admin einen Benutzer löscht soll dieser auch alle seine geposteten Files löschen.

Ich hab versucht mit den Befehl "unlink()" zu löschen geht aber bei mir nur lokal und da auch nur wenns im gleichen verzeichniss wie die PHP-Datei liegt. Auf´n Webserver gehts irgendwie net selbst wenn ich den verzeichniss und der Datei alle rechte gebe vielleicht ist auch einfach meine Pfadangabe falsch ?

Beispiel für eine Datei:
Code:
www.xyz.de/www2/Benutzer/Freigaben/1001_4.zip

Die Datei wo der Befehl ausgeführt wird liegt im www2 Verzeichniss. Wie würde das in den Beispiel mit den Befehl "unlink" aussehen ? Vielleicht hab ich einfach das falsch gemacht.

mfg
lomo
 
Zuletzt bearbeitet:
Bekommst du eine Fehlermeldung?

2 Sachen fallen mir spontan ein:

1. http:// vor der URL fehlt.
2. Versuch unlink() mit relativen Pfadangaben also wenn du das Script im www2 Ordner hast:

unlink("Benutzer/Freigaben/1001_4.zip");

Ohne Fehlerbeschreibung und mit "geht irgendwie net" kann ich da nich viel zu sagen
 
PHP:
unlink('/kunden/informationen_anlagen/'.$_GET['Datei'].'');
in $_GET['Datei'] steht im moment 100001_1.zip.

als Fehlermeldung bringt er folgendes:
Code:
Warning: unlink(): open_basedir restriction in effect. File(/kunden/informationen_anlagen//www2/kunden/informationen_anlagen/100001_1.zip) is not within the allowed path(s): (/usr/www/users/msbcl:/usr/home/msbcl:/tmp:/usr/local/lib/php) in /usr/www/users/msbcl/www2/Kundenbereich_Firmeninformation_Uebersicht.php on line 107

hab jetzt ein bischen rumprobiert mit den Verzeichnissen. Davor hat er "No such directory" gebracht.

mfg
lomo
 
Ohne Anfangs / :
Code:
Warning: unlink(kunden/informationen_anlagen/): Permission denied in /usr/www/users/msbcl/www2/Kundenbereich_Firmeninformation_Uebersicht.php on line 107

mmmh sieht nach Zugriff verweigert aus. muss nur die Datei die Rechte haben oder alle ordner bis zur Datei ?
 
Kann mir jemand sagen, was die Fehlermeldung genau bedeutet ?
Code:
Warning: unlink(kunden/informationen_anlagen/): Permission denied in /usr/www/users/msbcl/www2/Kundenbereich_Firmeninformation_Uebersicht.php on line 113
 
Ich rate nun einfach mal , Zugriff verweigert :P

Es sieht so aus als ob er den Ordner löschen möchte aber keine Datei.

Code:
Warning: unlink(kunden/informationen_anlagen/wo ist hier die Datei ?)...

Der beste Weg wäre , mal direkt mittels chdir in den Ordner zu wechseln vorher und dann versuchen die Datei zu löschen.
Ob der Ordner nun in dem die Datei liegt noch volle Schreib / Lese Rechte brauch kA :/ Sag aber mal nein , normal sollte die Datei reichen.
 
Ich vermute mal, daß Du das gleiche Problem hast, was ich auch mal hatte. (Ist etwas länger her ... mal sehen, ob ich es noch zusammen bring)

Da es sich bei deinem Webserver um einen Linux-Server handelt, werden allen Dateien mit Rechten (lesen, schreiben, ausführen) und mit der Angabe des Besitzers gespeichert. Nur der Besitzer einer Datei kann diese auch löschen

Beispiel: Wurde die Datei per Webformular hochgeladen, und z.B. per Script abgelegt (kopiert), dann kann es auch nur über das Script wieder gelöscht werden. Wurde es aber z.B. per FTP hochgeladen, dann kann es auch nur von FTP wieder gelöscht werden.

Einige FTP-Programme (z.B. FileZilla) zeigen den Benutzer der Datei an, so daß man das überprüfen kann.

Bei mir gingen damals bestimmte Dateien, die per Webformular (also per Script) "erzeugt" wurden nicht über FTP zu löschen.

Möglicherweise bringt Dich die Funktion Chown() weiter. ;)


Dunsti
 
Zurück