Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Unlink mit ID ?! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Unlink mit ID ?!


 
blanix
29-06-2005, 02:08 
 
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

 
xManUx
29-06-2005, 02:17 
 
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 ';
}

 
blanix
29-06-2005, 02:30 
 
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 ?!

:(

 
xManUx
29-06-2005, 04:01 
 
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

 
blanix
29-06-2005, 04:22 
 
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.

 
xManUx
29-06-2005, 05:12 
 
... in etwa so ...


IF ( !empty($_POST['delfile']) {

foreach ( $delfile as $var ) {

unlink($ordner.'/'.$var);

}
}

 
blanix
29-06-2005, 05:18 
 
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

 
blanix
29-06-2005, 05:24 
 
Original geschrieben von xManUx
... in etwa so ...


IF ( !empty($_POST['delfile']) {

foreach ( $delfile as $var ) {

unlink($ordner.'/'.$var);

}
}


Hi

Erste Zeile fehlt ein ")"

;-)


mfg

 
blanix
29-06-2005, 06:23 
 
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

 
xManUx
29-06-2005, 06:44 
 
Wie wärs mal mit Zeigen von Ansätze?

 
blanix
29-06-2005, 06:57 
 
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

 
xManUx
29-06-2005, 08:06 
 
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!

 
blanix
29-06-2005, 16:21 
 
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>";

 
blanix
30-06-2005, 22:37 
 
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

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:22 Uhr.