adminbereich eines uploadtools - wie mithilfe von checkbox dateien löschen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • adminbereich eines uploadtools - wie mithilfe von checkbox dateien löschen?

    Hi,

    ich bin im Moment php am lernen und habe mich mal an einem uploadtool versucht!

    Der uploadbereich funktioniert auch wunderbar, nur das admintool will net wie ich will!

    folgendes:
    die Daten werden durch das script (upload.php) hochgeladen und zeilenweise in der Datei uploads.txt gespeichert (array)!

    das admintool soll vorerst nur löschen können. Dazu wird die uploads.txt ausgelesen und die einzelnen Zeilen als checkboxelemente ausgegeben! Ich habe leider nur keine ahnung, wie, wenn ich dann auf den Button klicken, die dateien vom server und dann aus der uploads.txt gelöscht werden! Das problem ist, dass nur die ausgewählten Daten gelöscht wertden sollen!

    Hier der Code:

    PHP-Code:
    <html>
      <head>
      <title>ADMINBEREICH</title>
      </head>
      <body>

    <form method="POST" action="<?php print $PHP_SELF>

    <
    input type="submit" value="Makierte_Dateien_löschen">
    </
    form>

    <?
    php
       $uploads
    ='uploads.txt';
       
    $liste=file($uploads);


    for(
    $i=0$i<=count($liste);$i++) {
    $s=chop($liste[$i]);
    if (!empty(
    $s))
        echo 
    "<input type=checkbox name='Datei' value='".$s."'>".$s."<br>"; }
    ?>


    </body>
    </html>

    Danke für eure Hilfe!


    PHP v. 5
    register_globals = off
    safe_mode=off
    Zuletzt geändert von Quizi; 26.10.2006, 10:21.

  • #2
    hä?
    wie du speicherst die hochgeladenen Dateien in einer *.txt? Wie geht dat denn, liest du den Stream aus?
    Als Array ... serialisiert oder wie?

    Ich glaube du meist wohl eher du speicherst die Datei-url zeilenweise in einer *.txt!?

    Zu deinem Prob:
    Wenn alle Checkbox-Elemente den selben Namen tragen kannst du
    auch schlecht serverseitig auf diese Daten zugreifen.
    Eine Möglichkeit wäre z.B. an den Namen 'Datei' eine Id der Datei
    anzuhängen (z.B. die Zeile in der txt-Datei) sodass wenn die Checkbox
    'Datei12' checked ist, die Datei aus Zeile 12 gelöschen werden soll.

    Besser wäre es hier wenn du eine Datenbank zum Speichern der
    DateiInformationen nutzt, in denen du Infos wie Id, name, größe
    (wenn du das brauchst) und Pfad speicherst!

    MFG
    BLG
    Zuletzt geändert von BLG; 26.10.2006, 11:00.

    Kommentar


    • #3
      du hast alle checkboxen mit dem gleichem namen aber keinem array
      mach so:
      echo "<input type=checkbox name='datei[]' value='".$s."'>".$s."<br>";
      ausserdem stehen deine checkboxen nicht im formular und werden in keinem fall gesendet.
      auch submit button muss ein name haben.
      und die atributenvalues müssen immer in "" stehen.

      bei ankommen von formulardaten einfach dein array datei[] durchlaufen
      PHP-Code:
      if(isset($_POST['datei']) && is_array($_POST['datei'])){
        foreach(
      $_POST['datei'] as $dat){ unlink($dat); }

      Zuletzt geändert von Slava; 26.10.2006, 11:19.
      Slava
      bituniverse.com

      Kommentar


      • #4
        Original geschrieben von BLG
        hä?
        wie du speicherst die hochgeladenen Dateien in einer *.txt? Wie geht dat denn, liest du den Stream aus?
        Als Array ... serialisiert oder wie?

        Ich glaube du meist wohl eher du speicherst die Datei-url zeilenweise in einer *.txt!?


        jepp

        Zu deinem Prob:
        Wenn alle Checkbox-Elemente den selben Namen tragen kannst du
        auch schlecht serverseitig auf diese Daten zugreifen.
        Eine Möglichkeit wäre z.B. an den Namen 'Datei' eine Id der Datei
        anzuhängen (z.B. die Zeile in der txt-Datei) sodass wenn die Checkbox
        'Datei12' checked ist, die Datei aus Zeile 12 gelöschen werden soll.

        Besser wäre es hier wenn du eine Datenbank zum Speichern der
        DateiInformationen nutzt, in denen du Infos wie Id, name, größe
        (wenn du das brauchst) und Pfad speicherst!

        MFG
        BLG
        hm. da ich halt noch php am lernen bin machs ich lieber als mit ner Textdatei, so als "zwischenprojekt zum Vertiefen^^"


        übermittelt werden dann nur die elemente, mit einem Hacken davor! //fast fertig

        man kann doch keine phpschleife in einem Formular ausführen, oder bin ich da falsch informiert?
        Zuletzt geändert von Quizi; 26.10.2006, 11:32.

        Kommentar


        • #5
          nein es darf nicht in einem element 2 mal name vorkommen.
          einfach name="list[]" ohne zahlen im array.
          Slava
          bituniverse.com

          Kommentar


          • #6
            Original geschrieben von Slava
            nein es darf nicht in einem element 2 mal name vorkommen.
            einfach name="list[]" ohne zahlen im array.

            hm. ich weis grad nicht wo das list hin soll?
            echo "<input type=checkbox name='datei[]' value='".$s."'>".$s."<br>";

            oder
            echo "<input type=checkbox name='list[]' value='".$s."'>".$s."<br>";

            Kommentar

            Lädt...
            X