Datei löschen von Server per php

ava99

Erfahrenes Mitglied
Hallo,

habe ein Problem. Nutze ein Upload-Formular um Datein per php auf den Server zu laden
Die Dateien werden hochgeladen und der pfadname in eine Db eingeschrieben.. Das klappt auch. Nun möchte ich diese Datei auch wieder per php Formular löschen. Der Eintrag wird auch gelöscht, aber die Datei nicht.

PHP:
    $sql = mysql_query("SELECT * FROM bilder WHERE id = '".$_GET['id']."'");
    $data = mysql_fetch_object($sql);
    $bild = $data->bild_1;
    unlink("images/".$bild);
    $sql = "DELETE FROM name WHERE id = '".$_GET['id']."'";
    mysql_query($sql) or die (mysql_error());

Der Pfadname der in der DB gespeichert wird : http://domainname.de/name/images/bild.jpg

Bin für Hilfe dankbar

Grüße
ava99
 
Wenn du genau "http://domainname.de/name/images/bild.jpg" in der DB stehen hast, und die Datei dann per unlink("images/".$bild); löschst, würde der Pfad zu datei ja so aussehen
images/http://domainname.de/name/images/bild.jpg

Das ist denke ich mal ein bisschen falsch.
 
Speichere lieber nur die Dateinamen anstatt absoluter URLs. Desweiteren sollte das Löschen einer Datei nicht allein nur von einem URL-Argument abhängig machen.
 
Danke für Hinweis, habe es jetzt umgeändert aber mit dem script bekomme ich die Datei immer noch nicht gelöscht

PHP:
$url="dateinamen.jpg";
unlink("images/$url");

Grüße
Daniel
 
das Script zum Upload liegt im verzeichnis banane. images ist ein Unterverzeichnis von banane.
Und wenn ich den Filenamen ausgeben lasse, dann zeigt er mir das richitge verzeichnis an also images/test.jpg

Ich stehe mom etwas auf dem Schlauch was ich noch machen könnte, bzw wo mein Fehler liegt.


Grüße
ava99
 
Probier mal folgende 2 Möglichkeiten
1. "./images/..." Also mit "./" vornedran
2. Kompletter Linuxpfad zur Datei. Ich gehe mal von Linux aus.
 
Danke für die Antworten. Habe es jetzt geschafft, dass es hochlädt und wieder löscht also auch die Dateien :)


Grüße
ava99
 
zum einen hatte ich eine falsche Pfadangabe und zum anderen hatte ich ein leeres Array
die Pfadangabe ist relativ zum Verzeichnis also bei mir

PHP:
unlink("images/$url[$count]");

Grüße

ava99
 
Zurück