Bild Löschen Von Dateien Vom Server
Ich Frage mich, ob jemand möglicherweise in der Lage, mir zu helfen, bitte.
Ich habe zusammen diese - Seite, die ermöglicht Benutzern das anzeigen Ihrer hochgeladenen Bilder in einer Galerie-format.
Ich bin jetzt zu wollen, fügen Sie die löschen-Funktionalität auf jedes Bild an. Ich habe den button und das Javascript dahinter, aber ich bin mir wirklich nicht sicher, wie Sie Links der "button-Klick" mit der tatsächlichen physischen Löschung der Datei.
Die Bilder sind nicht in einer Datenbank gespeichert, sind aber in zwei Ordner auf meinem server in der folgenden Struktur:
UploadedFiles/username/locationid/imagename
und
UploadedFiles/username/locationid/Thumbnails/imagename
Ich bin relativ neu in PHP und bin nun an die Grenzen meines Wissens, aber sicherlich bereit, zu lernen. Aus den Unterlagen, die ich gelesen habe, ich glaube, ich bin zu korrekt, zu sagen, dass die unlink
Methode ist, den richtigen Befehl zu verwenden?
Aber was ich zu finden bin wirklich schwer ist sagen, den code zu finden, der Ordner mit den username
und locationid
Ordner, die mit dem aktuellen username
und locationid
und dann die Dateien löschen, die mit dem $source
variable name.
Ich habe nur gefragt, ob jemand könnte vielleicht die Anleitung bitte auf, wie ich kann gehen Sie zu dieser.
Vielen Dank und herzliche Grüße
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie können übergeben Sie den Benutzernamen, locationid, und imagename Variablen, die dem Skript, können Sie die Dateien löschen, die mit
unlink()
:Weil Sie interagieren mit Ihrem Datei-system, werden Sie wollen sicher sein, dass Sie und desinfizieren Sie die Variablen (verhindern, dass jemand mit ../../../man unerwünschte Teile Ihres Dateisystems).
spath
meine image-software ist betroffen und ich verliere dieThumbnail
Funktionalität. Ich wurde auch gefragt, und verzeihen Sie mir Fragen, eine Anfänger-Frage, ist es möglich, die$imagename
wenn ich nicht erklären, bis später in meinem Skript, um genau zu sein Zeile 124 die beginnt<a href="<?php echo $source; ?>">
ich habe aktualisiert mein link zu den änderungen, die ich gemacht habe. Herzliche GrüßeNatürlich in javascript (client-side) wird zum aufrufen einer URL (server-side) um das Bild zu löschen, die der Benutzer ausgewählt. Ich schlage vor, dass für jetzt tun Sie es statisch (wenn Sie später wollen, zu bewegen, um etwas mehr Dynamik, ist der Schritt zur Umwandlung in ajax eher klein.
So, als setze die Segel Medien sagte, Sie haben, um den Benutzernamen und das locationID auf Ihren server bei einem Klick auf die Schaltfläche löschen. Eine Möglichkeit das zu tun ist:
Beim Rendern Ihrer Galerie in HTML/javascript, für jedes Bild, das Sie hatte, darunter eine, die die benötigten Informationen enthält und der submit-button rufen Sie einfach die delete-Skript von Ihrem server. Ein Beispiel für ein Formular, das Sie tun können, ist:
Dieses Formular speichern Sie den gewünschten Wert in versteckte Felder, die nicht angezeigt werden auf der Homepage aber immer noch werden an den server gesendet, beim betätigen der senden-Schaltfläche.
(für die kleine Geschichte, die Methode, die hier verwendet ist, weil es AFAIK HTML unterstützt nicht die DELETE-Methode (welche wäre geeignet gewesen, in unserem Fall)).
Die GET-Methode wird aufgerufen das script "your.server.org/deleteImage.php". In diesem Skript haben Sie alle Informationen, die Sie benötigen (Benutzername/locationId) um das Bild zu löschen, indem Sie mit dem $_GET['username'] und $_GET['locationId'] Variablen. Dann wie du schon erwähnt hast, müssen Sie die unlink-Methode, um tatsächlich löschen Sie die Datei vom server.
Schließlich sobald dies erledigt ist, müssen Sie die Umleitung von php-script so, dass nach dem löschen das Bild, das Sie zeigt die Galerie wieder (zum Beispiel). Dies kann durch aufrufen eines Skripts wenn Sie irgendeine Art der template-engine oder durch aufrufen der "header" - Funktion von php.
Ich hoffe, dass dieser Fluss war das, was Sie erwartet, und ich hoffe, ich hilfreich gewesen.
Grüße,
Tragen