Datei aus Verzeichnis löschen

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

  • Datei aus Verzeichnis löschen

    Liebe PHP-Gemeinde

    Ich weiss, dieses Thema ist hier schon ein paar mal aufgetaucht. Wahrscheinlich müsste ich mit "unlink" an mein Ziel kommen.. Aber ich beschreib euch vorerst mal das Problem.

    Ich habe eine Website, bei der immer das aktuellste Webcam-Bild gezeigt wird. Dieses Bild heisst webbild.jpg

    Die Bilder von der Webcam entstehen aber nicht z.B. all 10 Sekunden, sondern nur dann, wenn ich auf den "Auslöser" klicke. Dieses neue Bild heisst dann z.B. cam000214.jpg und wir in das Verzeichnis /graph/ gespeichert.

    Ich will jetzt, dass bei jedem Refresh folgendes passiert:

    1. webbild.jpg soll gelöscht werden
    2. cam000214.jpg soll in webbild.jpg unbeannt werden.

    Mein Code-Ansatz:

    PHP-Code:
    <?php
    $ganzerpfad 
    "/srv/www/websites/oba/";
    $pfad 'graph';
    $bild '';
    $dir opendir ($pfad);
    while (
    $file=readdir($dir))
      if (
    $bild != "graph/img" || $bild != "graph/cam.jpg" || $bild != "." || $bild != ".." || !$bild || filemtime($bild)<filemtime("$pfad/$file"))
       
    // $bild = "$pfad/$file";
        
    $dateiname "$file";

    unlink("/graph/$dateiname");

    if ( 
    rename$ganzerpfad.$pfad."/".$dateiname$ganzerpfad.$pfad."/webbild.jpg") )
    {
    // echo 'Datei wurde umbenannt';
    }
    else
    {
      echo 
    'Datei konnte nicht umbenannt werden';
    }

    ?>
    Im Moment funktioniert folgendes: wenn in diesem Verzeichnis "graph" nur das neue Bild drin ist, also z.B. cam000124.jpg, dann wird dieses beim Refresh der Seite in webbild.jpg umbenannt. Soweit so gut.. Sobald jetzt aber ein frisches Bild dazu kommt, passiert nix mehr. Das heisst, webbild.jpg wird nicht gelöscht und das neue Bild wird nicht umbenannt.

    Könnt ihr mir helfen?

  • #2
    schalt die fehleranzeige an, dann bekommst du hoffentlich eine entsprechende meldung.

    Kommentar


    • #3
      Fehleranzeige? Also $php_errormsg?

      Kommentar


      • #4
        wohl eher das

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Re: Datei aus Verzeichnis löschen

          Original geschrieben von Fanello
          Mein Code-Ansatz:

          ...

          Könnt ihr mir helfen? [/B]
          Also das unlink ist ja schonmal falsch... Probiers mal mit

          PHP-Code:
          unlink($ganzerpfad.$pfad."/".$dateiname"); 

          ansonsten

          PHP-Code:
          error_reporting(E_ALL); 
          ins Script einbauen und auf die Meldungen achten...

          Kommentar


          • #6
            Original geschrieben von Fanello
            Also $php_errormsg?
            wtf?

            Kommentar


            • #7
              Re: Re: Datei aus Verzeichnis löschen

              Original geschrieben von DonManfred
              Also das unlink ist ja schonmal falsch... Probiers mal mit

              PHP-Code:
              unlink($ganzerpfad.$pfad."/".$dateiname"); 

              ansonsten

              PHP-Code:
              error_reporting(E_ALL); 
              ins Script einbauen und auf die Meldungen achten...
              unlink hat jetzt funktioniert, das heisst, die Datei webbild.jpg ist gelöscht worden. Leider ist aber die neue noch nicht umbenannt worden.

              Und das mit dem error_reporting funzt nicht, bzw. es gibt nichts aus. Entweder hat es keine Fehler oder es könnte auch sein, das es in der PHP.ini auf off ist, oder? Falls es das wäre, kann ich leider nix machen..

              Jetzt hab ich es doch noch geschafft, dass das File dann umgeschrieben wird. Und zwar hab ich nach dem unlink einfach den Pfad nochmals geöffnet und die Umwandlung gemacht.

              PHP-Code:
              $ganzerpfad2 "/srv/www/websites/oba/";

              $pfad2 'graph';

              $bild2 '';

              $dir2 opendir ($pfad2);

              while (
              $file2=readdir($dir2))

                if (
              $bild2 != "graph/img" || $bild2 != "graph/cam.jpg" || $bild2 != "." || $bild2 != ".." || !$bild2 || filemtime($bild2)<filemtime("$pfad2/$file2"))

                  
              $dateiname2 "$file2";

              if ( 
              rename$ganzerpfad2.$pfad2."/".$dateiname2$ganzerpfad2.$pfad2."/webbild.jpg") )

              {

              // echo 'Datei wurde umbenannt';

              }

              else

              {

                echo 
              'Datei konnte nicht umbenannt werden';


              Ist vielleicht nicht ganz so elegant.. aber es funktioniert.

              Vielen Dank für Eure Hilfe!!!
              Zuletzt geändert von Fanello; 31.08.2007, 21:33.

              Kommentar

              Lädt...
              X