Datei einzeln löschen (PHP)?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du läßt Links oder Buttons zum löschen anzeigen. Die versiehst Du mit Parametern im URL. So etwa:

?datei=$datei&mach=loeschmich

Im Zielskript fragst Du ab ob

$_GET['mach']=='loeschmich' 

und löschen kannst Du das dann mit

unlink($datei) 

Ich wäre da aber sehr, sehr vorsichtig, das wirft alle möglichen Sicherheitsprobleme auf, wenn Du eine Löschmöglichkeit - so wie das aussieht - innerhalb des Webspaces anbietest. Pass auf, dass da niemand Schweinereien mit dem Dateipfad anrichten kann, wie z.B. directory traversal mit '..', sonst löscht Dir jemand durch manipulierte Parameter an Stellen herum, wo er nicht soll.

Solche Fragen solltest Du übrigens besser in spezialisierten PHP- oder wenigstens Entwicklerforen stellen, dort hast Du viel bessere Chancen kompetente Antworten zu bekommen. Ich schlage mal z. B.  Stackoverflow vor.

0
@ZekaZ

Fast. Du müsstest $datei vorher noch aus $_GET['datei'] herauslesen. Und ich würde das löschen vor der Liste erledigen, dann ist sie gleich aktuell.

0

Der Code ist hier grad kaum lesbar (besser auf pastebin.com oder so posten, bei GF sieht das nicht so schön aus, Dinge werden teils "verschluckt" etc), aber grundsätzlich ist das ganz einfach, du übergibst den Dateinamen via GET an ein Löschscript und dort kannst du die Dateien dann mit dem Befehl "unlink()" löschen.

Ungefähr so:

<?php
$datei = $_GET['datei'];
unlink($datei);

Das "Löschscript" muss dafür natürlich die entsprechenden Rechte haben und die zu löschenden Dateien müssen sich im selben Verzeichnis befinden. Du solltest außerdem auch überprüfen, ob die Datei, die gelöscht werden soll, wirklich auch gelöscht werden darf, nicht dass da jemand Unsinn mit anstellt (z.B. einen absoluten Pfad angibt um Dateien in anderen Verzeichnissen zu löschen oder ähnliches).

BTW: Das mit dem auslesen des Verzeichnisses geht imho mit "scandir()" viel einfacher: http://php.net/scandir

PDF schnell aufteilen in mehrere Dateien?

Hallo,

ich habe mit NAPS2 einige Seiten gescannt. Diese möchte ich alle jeweils in eine einzelne Datei haben. Nun gibt es aber nur die Möglichkeit jeden Scan einzeln Speichern unter usw. zu machen. Oder alles in eine Datei.

Oder irre ich mich?

Kann ich nicht irgendwie alle Dateien einzeln speichern lassen und dann umbenennen? Das wäre viel viel schneller.

Falls das nicht geht, wie kann man nachträglich schnell eine PDF Datei in einzelne Seiten / Dateien speichern?

Danke!

...zur Frage

Warum nach löschen von Dateien mit Recuva Dateien danach immer noch vorhanden?

hey wenn ich mit recuva dateien für immere löschen will funktinoert das auch also recuv löscht die dateien un wenn das löschen zu ende ist schließe ich recuva un wenn ich dann recuva wieder öffne un gucken will ob die datei wirkich gelöscht wurde erscheint sie immer noch in der liste ! kann mir jmd sagen warum das so ist mach ich was falsch oder muss ich was andres einstellen ?

...zur Frage

Windows XP - alle programme löschen

Also, ich würde gern alle Dateien, die ich selbst auf dem PC installierthabe (also alles auser das XP selbst) löschen. Wie mache ich das am besten? Alle Dateien einzeln zu löschen würde viel zu lange dauern. Gibt es da eine andere Möglichkeit? mfg

...zur Frage

Zwei Formulare gleichzeitig absenden?

Ich habe ein kleines Problem. Ich versuche eine Artikelverwaltung zu programmieren, die aus zwei Formularen besteht. Einem "Tab" in dem ein Formular ist, für einen Blogbeitrag und einen weiteren "Tab" mit einem Formular für einen Radiobeitrag.

Ich möchte jetzt, außerhalb beider Forms einen Button haben, der beide Formulare abschickt und die Funktion submitEditorForm() ausführt, die ich geschrieben habe.

Finde jedoch nirgends eine Lösung?

...zur Frage

Javascript Variable = (Zufällig ) Variable1 oder variable2?

Hallo ich sitze seit einiger zeit an meinem Spiel :) JS & Html.

Der Platformer läuft :) und jetzt fehlen die level.. ich könnte zwar jedes level einzehln in den Code einbinden allerdings .. Level erstellen ist aufwendig genug. Das ist mein Code derzeit (Ja.. es Funktioniert)

var GAME_MAP = new Array(
"                                        ",
"                                        ",
" E                                      ",
"###                                     ",
"  #                                     ",
"  ##   X    G     X             G       ",
"  ##################################    ",
"             ##                         ",
"             ##                       ##",
"          G  ##  X G                 ###",
"         ###########                ####",
"#    #                 ##       ########",
"# T ##                ######            ",
"#########          ##########           ",
"            ##      ##########          ",
"           #####                        ",
"         ########  F                 MMM",
"    ######     ##               MMMMMMMM",
"##              ###   ### G             ",
"###               #   #######           ",
"######    G       #   #########      X  ",
"#####     #                        #####",
"        ####   X                  ######",
"       #############             #######",
"      #####             G  ##   ######  ",
" P   ###                ####            ",
"##                    ####              ",
"###           # #                       ",
"#### G #  X  ######   G  X     X   ##   ",
"########################################"
)

Ich möchte jz aber denn array in eine andere variable packen und Gamemap soll entscheiden ob wir jetzt level 1 laden oder level2 usw..

Bedeuted etwa so

    var Gamemap = new Array() //mapinhalt fehlt

var Gamemap2 = new Array(
var GAME_MAP =  //hier dann die zufallsmap

//dann die ladefunktion der map starten usw.. function initialiseMap()

...zur Frage

Datei direkt aus dem Internet in die DROPBOX laden?

Wie kann ich eine Datei direkt mit einem Internet-Link in meine Dropbox laden? Ich mache bisher erst einen Download auf meinen lokalen Rechner und dann wieder einen Upload in die Dropbox. Geht es vielleicht auch direkt? Vor allem der Upload dauert bei größeren Dateien quälend lange :-(

...zur Frage

Was möchtest Du wissen?