[Funktion] Datei per unlink von Formular löschen???

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

  • [Funktion] Datei per unlink von Formular löschen???

    Hallo leute, ich habs nun fast geschafft, dank einiger hilfen bzw Handbuch habe ich das liste von Dateien in einem Ordner hinbekommen. Löschen mit dem Befehl unlink(dateiname) geht auch" bur die Kombination will nicht. Das Bild wird nicht gelöscht. ([COLOR=crimson]FEHLERMELDUNG:[/COLOR] Warning: unlink(bilder-2.jpg ) [function.unlink]: No such file or directory in /home/sites/site16/web/inc/bilder/delete.php on line 3

    Was ist an dem Code Falsch? Wer kann helfen

    *** list.php*** listet bilder

    PHP-Code:
     <?php 
    //Einstellungen
    $path ""// absolute Pfadangabe
    $ordner "$path"."/thumbnails/";
    $daten "$path"."/photoalbum.txt";
    $filename "$daten";
    $thpfad "thumbnails";


      
    // In Datei schreiben (anhängen)
      
    $fp fopen($filename'a+');
      
      
      
    fclose($fp);

      
    // Datei "zeilenweise" in ein Array einlesen
      
    $array file($filename);

      
    // $array von vorne nach hinten durchlaufen
      
    foreach($array as $zeile) {
          echo 
    trim($zeile) . " <img src=\"$thpfad/$zeile\"><form method=\"POST\" action=\"delete.php\">
    <input type=\"checkbox\" name=\"delpic\" value=\"
    $zeile\"><input type=\"submit\" value=\"$zeile löschen\" name=\"löschen\">
          </form><br>\n"
    ;
      }
    ?>
    *** delete.php *** soll ausgewähltes Bild löschen

    PHP-Code:
     <?

    if(unlink($delpic)) { 
        echo "Die Datei $delpic wurde gelöscht!";
    } else { 
        echo "Konnte die Datei $delpic nicht löschen!";
    }

    echo "<br><br>";


    include("list.php");
    ?>
    Danke mikka6

  • #2
    Re: [Funktion] Datei per unlink von Formular löschen???

    Original geschrieben von mikka6
    Warning: unlink(bilder-2.jpg ) [function.unlink]: No such file or directory in /home/sites/site16/web/inc/bilder/delete.php on line 3
    file(): Der Zeilenumbruch bleibt erhalten.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Mein Vorredner hat natürlich recht. Aber man sollte sowieso immer vorher gucken, ob man´s überhaupt löschen kann!

      PHP-Code:
      if (file_exists($strFilename)) {
          if (
      is_writable($strFilename)) {
              
      unlink($strFilename);
          } 

      ... oder so...
      Ich denke, also bin ich.
      Manche sind trotzdem!

      Kommentar


      • #4
        Original geschrieben von cst
        Mein Vorredner hat natürlich recht.
        hm, vielleicht auch nicht - ein trim() auf die zeilen aus der datei macht er ja schon, wie ich jetzt sehe ...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Man könnte das einbauen, ob die datei da ist, oder ob man sie löschen kann. das ist aber momentan nicht das problem. es wird einfach eine definitiv vorhandene Datei nicht gelöscht. eine weitere abfrage macht den code nur noch unübersichtlicher. wenn alles läuft, dann kann ich den code ja um sowas erweitern.

          Was hat es mit dem Zeilenumbruch auf sich??

          Kommentar


          • #6
            die fehlermeldung besagt, dass er die datei nicht finden kann ... ich benutze
            immer absolute pfadangaben für die dateifunktionen also ...
            PHP-Code:
            unlink('/home/sites/site16/web/inc/bilder/'.$file); 
            @zeilenumbruch
            es gibt keinen dateinamen diedatei.xy\n ... trim() ist uU noch angesagt.
            Kissolino.com

            Kommentar


            • #7
              Auch mit absoluter Pfadangabe funzt es nicht. Was ist Falsch??? -

              PHP-Code:
              <?
              $path = "/home/sites/site16/web/inc/bilder";
              $ordner = "$path"."/thumbnails/";

              if(@unlink($ordner. '/' .$delpic)) { 
                  echo "Die Datei $delpic wurde gelöscht!";
              } else { 
                  echo "Konnte die Datei $delpic nicht löschen!";
              }
              echo "<br>";
              echo "<img src=\"$delpic\">";
              echo "<br><br>";

              if(@unlink($ordner. '/' .$delpic)) { 
                  echo "Die Thumbnail-Datei $delpic wurde gelöscht!";
              } else { 
                  echo "Konnte die Thumbnail-Datei $delpic nicht löschen!";
              }
              echo "<br>";
              echo "<img src=\"thumbnails/$delpic\">";

              include("update.php");
              ?>

              Kommentar


              • #8
                du hast zb. beim thumb löschen zwei unterschiedliche pfade angegeben ...

                benutz doch mal file_exists(), dann kannst du zumindest mit sicherheit sagen, ob das file dort existiert, wo du es vermutest ...

                laß das @ weg! zumindest solange das noch nicht funktioniert ....
                Zuletzt geändert von derHund; 10.07.2004, 02:05.
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  kleiner ERFOLG!!

                  So klappts ! zumindest die erste Datei wird gelöscht. mit dem thumbs funzt es noch nicht. Aber das wird schon. Wer kann mir sagen, wass falsch war. oder liegts wirklich nur am trim() und an der veränderten Variable???

                  Danke nochmal für eure Hilfe

                  VERBESSERTR CODE

                  PHP-Code:
                  <?
                  $path = "/home/sites/site16/web/inc/bilder";
                  $ordner = "$path"."/thumbnails/";
                  $dellink = "yes"; 
                  $datei = trim($delpic);
                  if(@unlink($datei)) { 
                      echo "Die Datei $datei wurde gelöscht!";
                  } else { 
                      echo "Konnte die Datei $datei nicht löschen!";
                  }

                  echo "<br><br>";

                  if(@unlink(thumbnails/$datei)) { 
                      echo "Die Thumbnail-Datei $datei wurde gelöscht!";
                  } else { 
                      echo "Konnte die Thumbnail-Datei $datei nicht löschen!";
                  }
                  echo "<br><br>";

                  include("update.php");
                  ?>

                  Kommentar


                  • #10
                    hallo leute,

                    ich komme nicht weiter, jatzt hab ich schon alles versucht. Absoluter Pfas, nur /thumbnails, mit der www angabe....

                    ALLES VERGEBENS. Ich verzweifle bald und in den büchern sowie im handbuch steht auch nur eine grobe beschreibung der Befehle. wenns etwas ins eingemachte geht, dann???

                    ich bekomme immer die Fehlermeldung:

                    Warning: Division by zero in /home/sites/site16/web/inc/bilder/delete.php on line 14

                    Warning: unlink() [function.unlink]: No such file or directory in /home/sites/site16/web/inc/bilder/delete.php on line 14


                    Verzeichnis und Datei sind aber vorhanden!

                    Wer hat den entscheidenden Tipp?

                    Gruß mikka6

                    Kommentar


                    • #11
                      Code:
                      if(@unlink(thumbnails/$datei))
                      ist ein wenig falsch oder?

                      wie wärs mit

                      Code:
                      if(@unlink("thumbnails/".$datei))
                      und wennde sowas schon richtig machen möchtest check erstmal ob die datei überhaupt noch vorhanden ist mit

                      Code:
                      if (file_exists("thumbnails/".$datei))

                      Kommentar


                      • #12
                        Vieleicht zu einfach:

                        if(@unlink(thumbnails/$datei)) {
                        Mal so schreiben:

                        PHP-Code:
                        if(@unlink("thumbnails/".$datei)) { 

                        Kommentar


                        • #13
                          BINGO, es funzt

                          Hallo leute, endlich hab ich´s rausbekommen. ganz einfach das Verzeichnis mir chdir (thumbnails) wechseln. Das wars!

                          Hier nochmal der Code:

                          PHP-Code:
                          <?
                          $ordner = "/thumbnails";
                          $datei = trim($delpic);
                          if(@unlink($datei)) { 
                              echo "Die Datei $datei wurde gelöscht!";
                          } else { 
                              echo "Konnte die Datei $datei nicht löschen!";
                          }
                          echo "<br><br>";
                          $datei = trim($delpic);
                          chdir("thumbnails");
                          if(@unlink($datei)) { 
                              echo "Die Thumbnail-Datei $datei wurde gelöscht!";
                          } else { 
                              echo "Konnte die Thumbnail-Datei $datei nicht löschen!";
                          }
                          echo "<br><br>";

                          include("../update.php");
                          ?>
                          Man muss jetzt bei der includ Datei ../ vorsetzen, sonst sucht der Browser vergeblich in thumbnails nach update.php.

                          Dank eurer Hilfe ist meine Administrationsfähige Bildergallerie fertiggestellt.

                          Viele grüße und nochmals Danke für eure Tipps.

                          mikka6


                          Übrigens funzt es mitif(@unlink("thumbnails/".$datei)) auch!!

                          Zuletzt geändert von mikka6; 12.07.2004, 05:06.

                          Kommentar

                          Lädt...
                          X