Archiv verlassen und diese Seite im Standarddesign anzeigen : Unlink mit ID ?!
Hi Freaks ^^
Hab da nen Problemchen und da Google und Boardsuche mir nicht weiterhelfen, dacht ich, ich schreib mal ...
Also ich hab da nen Uploadscript, wie viele andere auch und funktionieren tut es auch soweit, oh Wunder :p
Nunja, jedenfalls werden mir nach einem upload die Dateien in der Übersicht angezeigt und sollen aber auch einzeln gelöscht werden.
Ich hab daher ein Unlink reingebastelt, was auch zum teil funktioniert. Leider löscht mir das alle Dateien und nicht nur die eine, deren DelButton ich nutzte ?!
Anbei mal das bisserl Code, was scheinbar sowas wie eine ID brauch ?!
<form action=\"$PHP_SELF\" method=\"POST\"> <input type=\"submit\" name=\"button\" value=\"del\"></form></td></tr>";
if ($button)
{
unlink("$ordner/$file");
cya & thx for Reply
Ich hab eher den Verdacht, dass er die Datei ohne Bestätigung löscht.
mach mal:
if ($button) {
echo ' Ich lese das nächstemal vor dem Posten diesen Link http://www.php-resource.de/forum/showthread.php?s=&threadid=50454 ';
}
Original geschrieben von xManUx
Ich hab eher den Verdacht, dass er die Datei ohne Bestätigung löscht.
mach mal:
if ($button) {
echo ' Ich lese das nächstemal vor dem Posten diesen Link http://www.php-resource.de/forum/showthread.php?s=&threadid=50454 ';
}
Hi
Jo, löscht die Dateien ohne Bestätigung, muss also kein OK oder sonstiges klicken ...
Ich hab soviel gelesen, scheinbar nicht alles, daher bin ich auch ein Noob.
Und daher bringt mich dein Link genausowenig weiter ?!
:(
Ganz einfach, du formatierst in Zukunft deinen PHP-Code so wie es im Link beschrieben steht.
Und
if ($button) { echo 'ausgabe'; }
sollte dich doch eigentlich stupsig machen? Für IF()-Befehle verwendet man i.d.R. Operatoren. Sprich, du solltest deine IF-Abfrage mit einer Klausel versehen.
Wie wär's z.B. mit empty() oder strlen() oder ganz einfach mit einem == 'String' ?
jahlives 29-06-2005, 04:09 Wie wäre es mit einer Checkbox für jede Datei ? Dann kannst du all jene ankreuzen, die gelöscht werden sollen und dann auf den Button klicken.
In deinem Löschscript fragst du dann ab welche Checkboxen gewählt wurden und löscht entsprechen nur diese Dateien.
Mehr Infos zum Thema Checkboxen (http://de.selfhtml.org/html/formulare/auswahl.htm#checkboxen) gibts hier.
Der Link von xManUx hätte dir schon was gebracht, denn er will damit nichts anderes sagen als: Formatiere deinen Quelltext und zwar vor dem nächsten Post !!
Gruss
tobi
Hi
Achso, ups Sorry, auch wenn ich jetz nicht weiss was mit Code formatieren gemeint is ...
Ich hab die letzte Zeit mit Perl hantiert und wollte nun ins php reinkommen, indem ich mal mit einem upload/download script anfange. Bei manchen Funktionen seh ich dann den Wald vor lauter Bäumen nicht, sorry hierfür.
Ich versuch nunmal weiter, erstma dank für die Antworten. Wenn euch nochwas einfällt, bitte schreiben, ansonsten meld ich mich wieder ;-)
mfg
ExInfernis 29-06-2005, 05:01 Mit "Code formatieren" ist unter anderem die Benutzung der Codeansicht gemeint,
ein Bsp:
<form action=\"$PHP_SELF\" method=\"POST\">
<input type=\"submit\" name=\"button\" value=\"del\"></form></td></tr>";
if ($button)
{
unlink("$ordner/$file");
Achte zudem noch darauf deinen Text umzubrechen, so daß die Leute
die dir helfen sollen nicht auch noch seitlich scrollen müssen, das nervt nämlich.
ZUM PROBLEM:
Schließe mich meinem Vorredner an, würde das auch mit Checkboxen machen.
Also erstma dein Uploadverzeichnis auslesen, also alle darin enthaltenen
Dateinamen auslesen und in array packen.
Dann ein Formular über das array ausgeben :
...
for($i=0;$i<sizeof($files);$i++)
{
echo "<input type=\"checkbox\" name=\"delfile[]\" value=\"".$files[$i]."\">";
}
Der User kann nun die zu löschenden Dateien auswählen und das
Formular abschicken. Dann musst du nur noch alle im array $delfile
enthaltenen Files löschen und fertig is.
... in etwa so ...
IF ( !empty($_POST['delfile']) {
foreach ( $delfile as $var ) {
unlink($ordner.'/'.$var);
}
}
HI
Danke für die zahlreichen Tips ...
Versuche mich gerade an diesen Checkboxen, will aber irgendwie nicht oder ich solte vielleicht ersma paar Stunden ins Bett ^^
mfg
Original geschrieben von xManUx
... in etwa so ...
IF ( !empty($_POST['delfile']) {
foreach ( $delfile as $var ) {
unlink($ordner.'/'.$var);
}
}
Hi
Erste Zeile fehlt ein ")"
;-)
mfg
Hi
So, hab nun den letzten tip von xManUx, sowie das mit den Checkboxen ausprobiert und es funzt nicht..checkboxen werden sogar angezeigt, bleibt aber alles irgendwie ohne funktion :(
Es gibt ja verschiedene Möglichkeiten, das umzusetzen, was ich möchte.
Hab da jetz soviel verschiedene Sachen probiert, entweder eure Tips oder so manches aus dem Web durch Google und hab keinen Durchblick mehr.
Dabei kommt mir der Gedanke, ob ich wirklich immer das haben muss was ich will ^^
mfg
Wie wärs mal mit Zeigen von Ansätze?
Hi
Ansätze ?!
Naja, jedenfalls dacht ich immer, ich sei nich doof ...
Ich hab auf meinem xampp besagtes Upload/Download Script und bisher ging das erweitern auch gut. Habe eine upload.php, in der Formularfelder und eine Passwortabfrage drin ist, die Dateien also in Ordner X transferiert.
Dann hab ich die index.php in der ich die Dateien auslese und per Echo in der Ausgabe aufliste. Eigentlich dacht ich nun, diese index.php um die lösch-checkboxen zu erweitern, was bei den letzten Anpassungen aber ohne Funktion blieb. Aber es sollte, nach einigen Überlegungen, vielleicht doch auf eine separate Seite mit Zugriffsschutz liegen. Ich will ja schliesslich auch Schandtaten vorbeugen ...
Vielleicht ist noch zu erwähnen, das ich PHP ohne SQL nutze :eek:
mfg
Zeig uns doch mal deinen entsprechenden PHP-CODE mit dem Du löschen willst, sprich was du bis jetzt versucht hast !
ExInfernis 29-06-2005, 15:49 Ja, ein wenig Code wäre hilfreich!
Hi
War erstmal ein wenig in der Koje ...
Hatte allerdings vorher noch die Änderungen wieder raus genommen :(
Werde gleich mal weiter probieren, nach dem Schlaf hab ich nun wieder ein wenig mehr Geduld ^^
Wenn euch das weiterhilft, so kann ich die momentane Ausgabe erstmal posten. Sind nur noch die Checkboxen drin, da ich gerade nochwas anderes versuche ...
if (! is_dir($ordner."/".$file)) {
print "<a href='$ordner/$file'>$file2 $size $filedate
<form action=\"$PHP_SELF\" method=\"POST\">
<input type=\"checkbox\" name=\"loeschen\" value=\"löschen\">
<input type=\"submit\" name=\"loeschen\" value=\"löschen\"></form>";
Hi
So, ok ...
Hab alles ein wenig anders aufgebaut, separate Auflistung mit Löschfunktion und passgeschützt, funktioniert nun jedenfalls.
Der ursprüngliche Fehler lag wohl in der Ordnung einer Funktion. Darauf kam ich erst als ich alles, für das separate, neu runtertippte.
Hab es zwar noch immer nicht mit Checkboxen, is aber nun auch egal :(
Naja, jedenfalls Danke an alle die Ihre Zeit hier opferten.
mfg
|
-
- |