neuste datei aus verzeichnis auslesen

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

  • neuste datei aus verzeichnis auslesen

    brauche DRINGEND ein script, welches nur das jeweils neueste File (wecam image) aus einem Verzeichnis ausließt, da die alten images nicht überschrieben werden dürfen, weil diese später noch gebraucht werden. die images erhalten von der webcam jeweils einen namen, der datum und uhrzeit beihaltet. hast ihr sowas? thank you, james

  • #2
    Thread aus Code-Schnipsel (Nur für Code - Keine Fragen) verschoben.
    Kaffi
    Errare humanum est

    W32.Schmalle.H@mm

    Kommentar


    • #3
      in $pfad mußt du latürnich den Pfad zu deinen Webcambildern speichern.

      Code:
      $pfad = 'webcam/bilder';
      $dir = opendir ($pfad); 
      while ($file=readdir($dir)) $bild = "$pfad/$file";
      echo '<img src="'. $bild. '">';
      Das sollte eigentlich schon reichen, falls die neueste Datei auch wirklich immer als letztes im Verzeichnis steht.

      Um auf Nummer sicher zugehen, bietet sich das hier an:
      Code:
      $pfad = 'webcam/bilder';
      $bild = '';
      $dir = opendir ($pfad);
      while ($file=readdir($dir))
        if (strcmp($bild, $file)<0) $bild = $file;
      echo '<img src="'. "$pfad/$bild". '">';
      Das funktioniert aber auch nur, wenn sich die Namen einfach über Stringvergleich sortieren lassen. Sonst mußt du halt anders vergleichen.

      Du kannst aber auch gleich das Datum der Datei benutzen:
      Code:
      $pfad = 'webcam/bilder';
      $bild = '';
      $dir = opendir ($pfad);
      while ($file=readdir($dir))
        if (!$bild || filemtime($bild)<filemtime("$pfad/$file"))
          $bild = "$pfad/$file";
      echo '<img src="'. $bild. '">';
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        hallo,

        suche nach einer möglichkeit,
        alle bilder aus einem verzeichnis so auszugeben, dass das neuste ganz oben steht - das älteste ganz unten.


        irgendwelche ideen?

        gruss
        b.

        Kommentar


        • #5
          eine Variante von dem da oben:

          PHP-Code:
          $pfad 'webcam/bilder';
          $files = array();

          // Verzeichnis einlesen in $files
          $dir opendir ($pfad);
          while (
          $file=readdir($dir))
            if (
          ereg('\\.(jpg|gif|png|jpeg)$'$file))
              
          $files[] = array (
                
          'name'=>$file,
                
          'mtime'=>filemtime("$pfad/$file")
              );

          // $files nach mtime absteigend sortieren
          function mycmp($a,$b)
          {
            return (
          $a['mtime']==$b['mtime'] ? 0
              
          :($a['mtime']<$b['mtime'] ? +1:-1)
            );
          }
          usort ($files'mycmp');

          // ausgeben
          foreach($files as $file)
            echo 
          '<img src="'"$pfad/$file[name]"'">'
          Zuletzt geändert von Titus; 25.07.2002, 13:58.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            hallo titus,

            parse error in zeile 9

            $files[] = array (

            haste ne idee was daran falsch sein könnte. kenn mich leider null aus. ist bestimmt nur ne ganze kleinigkeit....

            gruss
            b.

            Kommentar


            • #7
              schreib es mal alles in eine Zeile

              $files[] = array (
              'name'=>$file,
              'mtime'=>filemtime("$pfad/$file")
              );

              $files[] = array ('name'=>$file, 'mtime'=>filemtime("$pfad/$file"));

              könnte daran liegen...probier mal aus....

              Kommentar


              • #8
                hallo Aroree,

                leider hatte das keinen effekt,
                parse error in zeile 9
                :-(

                sonst noch ne idee?
                b.

                Kommentar


                • #9
                  In Zeile 8 fehlte eine schließende Klammer.
                  Ich hab´s im Original-Post korrigiert.
                  mein Sport: mein Frühstück: meine Arbeit:

                  Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                  Kommentar


                  • #10
                    parse error in zeile 17...


                    return ($a['mtime']==$b['mtime'] ? return 0

                    sorry das ich nur die fehlermeldungen hier aufliste und nicht selber konstruktiv bin, hab - wie schon gesagt - keinen plan von php....



                    b.

                    Kommentar


                    • #11
                      das zweite return ist zuviel.
                      Das sollte es nu aber sein mit parse-Fehlern.
                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #12
                        hallo titus,
                        hast recht, das wars mit den parse-fehlern.

                        aber leider werden jetzt platzhalter-bilder dargestellt,
                        als eigenschaft steht anstatt der url+bildname nur
                        die url+array

                        b.

                        Kommentar


                        • #13
                          logisch ... ich doof ... letzte Zeile ändern:

                          echo '<img src="'. "$pfad/$file[name]". '">';
                          mein Sport: mein Frühstück: meine Arbeit:

                          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                          Kommentar


                          • #14
                            genial, nicht doof :-)

                            danke titus - du hast mir sehr geholfen!
                            hab da noch ne frage:

                            <?
                            $path = "bilder";
                            $dir = dir($path);
                            while($datei=$dir->read()){
                            if(eregi("\.jpg$", $datei))
                            if(!is_dir($path."/".$dir)) { ?>
                            <a href="<?=$path."/".$datei?>">
                            <?=$datei ?>
                            </a><br>
                            <? }
                            }
                            ?>

                            gibt mir die dateinamen als link zum jeweiligen bild aus.

                            ersetz ich jetzt einfach in deinem script den image-tag durch den link-tag?
                            b.

                            Kommentar


                            • #15
                              genau so! (allerdings nicht Text für den Link und </a> vergessen!)
                              mein Sport: mein Frühstück: meine Arbeit:

                              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                              Kommentar

                              Lädt...
                              X