Bilder nach datum sortieren

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

  • Bilder nach datum sortieren

    Hi dieser script liest die Bilder aus einen Verzeichnis raus und nun weiss ich nicht was ich bei
    PHP-Code:
    rsort(    ); 
    eingeben muss datum die Bilder nach Datum sortiert werden kann mir jemand helfen bitte?

    PHP-Code:
    <?php

    $mydir 
    getcwd()."/uploads/images/Blog";
    $verz dir($mydir);
    while(
    $entry=$verz->read()){
            if(
    $entry != "." && $entry != ".."){
            
    $dateinamen[] = $entry;



            
            
    }
    }
    $verz->close();

    rsort(    );
    while(list(
    $key$val) = each($dateinamen)) {
        if(
    substr($val, -4) == ".jpg")
        {
            echo 
    "<A HREF=\"uploads/images/Blog/".$val."\" REL=\"lytebox[vacation]\"><IMG SRC=\"uploads/images/Blog/".$val "\" REL=\"lytebox[vacation]\" WIDTH=\"90\" HEIGHT=\"68\" BORDER=\"0\"></A>";

    }
    }
    ?>

  • #2
    Aus meiner Wühlkiste:
    PHP-Code:
    <?php
    error_reporting
    (-1);
    ini_set('display_errors'TRUE); 

    $array = array();
    foreach(
    glob("./*.php",GLOB_NOSORT) as $datei)
      
    $array[$datei] = filemtime($datei);

    arsort($array); // neueste Datei nach oben

    var_export($array);


    ?>
    Oder so:
    PHP-Code:
    error_reporting(-1);
    ini_set('display_errors'TRUE);
    setlocale(LC_ALL,'de_DE@euro''de_DE',  'de''ge');
    date_default_timezone_set('Europe/Berlin');

    function 
    sortable2html($file,$datum)
    {
      return 
    strftime(htmlentities($file)." %x %X<br>",$datum);
    }

    $files    glob('./*.php',GLOB_NOSORT);
    $zeiten   array_map('filemtime',$files);
    $sortable array_combine($files$zeiten);
    arsort($sortable);
    $files    array_keys($sortable);
    $zeiten   array_values($sortable);
    $ausgabe  array_map('sortable2html',$files,$zeiten);
    echo 
    join($ausgabe);



    ?> 
    Zuletzt geändert von combie; 16.05.2010, 10:51.
    Wir werden alle sterben

    Kommentar


    • #3
      hää ? das check ich nciht wie ich das bitte einbinden soll

      Kommentar


      • #4
        Das weiß ich natürlich auch nicht!
        Entweder kannste mit den Beispielen was anfangen, oder nicht.
        Wir werden alle sterben

        Kommentar


        • #5
          es währe nett eine erklärung dabei zu haben

          Kommentar


          • #6
            Zitat von wally18 Beitrag anzeigen
            es währe nett eine erklärung dabei zu haben
            Gut!
            Hier findest du die Erklärung zu allen Dingen, die ich dort verwendet habe: http://www.php.net/manual/de/


            Was konkret verstehst du nicht?
            Zuletzt geändert von combie; 16.05.2010, 13:50.
            Wir werden alle sterben

            Kommentar


            • #7
              Dein Array enthält überhaupt keine Datumsinformationen. Wie kommst du darauf, mit irgendeiner Funktion nach etwas sortieren zu können, was nicht da ist?!

              Kommentar


              • #8
                kann mir bitte einer richtig helfen dann denn ich möchte auch daraus lernen es bringt echt nichts wenn man mir den code dahin haut und sagt hier bitteschön sondern eine erklärung währe immer nett

                Kommentar


                • #9
                  Was stellst du dir denn unter "richtiger Hilfe" vor? Stelle konkrete Fragen, dann wird man dir auch konkret anworten.

                  Kommentar


                  • #10
                    Packe all die Informationen, die du benötigst, in ein (ggf. mehrdimensionales) Array,
                    sortiere dieses wie gewünscht,
                    durchlaufe es in einer Schleife um die Ausgabe zu machen.

                    Fertig.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Zitat von wally18 Beitrag anzeigen
                      Hi dieser script liest die Bilder aus einen Verzeichnis raus und nun weiss ich nicht was ich bei
                      PHP-Code:
                      rsort(    ); 
                      eingeben muss datum die Bilder nach Datum sortiert werden kann mir jemand helfen bitte?

                      ...
                      Rsort() ist hier kaum hilfreich. Du hast für jeden Eintrag, den du sortieren möchtest, zwei Werte vorliegen: den Dateinamen und das Datum. Die Zuordnung von beiden darf durch den Sortiervorgang nicht verändert werden. Du benötigst also ein assoziatives Array, das aus Schlüssel-Wert-Paaren besteht. Schlüssel (oder Key) ist für mein Beispiel der Dateiname und Wert (oder Value) ist das Änderungsdatum der Datei mit diesem Namen. Um solche Arrays nach dem Wert zu sortieren, ohne die Zuordnung zu verändern, gibt es asort() und arsort().

                      Ich dein Script noch etwas umgebaut und aufgeräumt. Allerdings bleiben diverse Details noch ungeklärt. So ist mir bspw. nicht klar, warum du die Bilddateien anzeigst und extra nochmal verlinkst. Normalerweise erzeugt man für die Vorschau eine kleinere Datei ("Thumbnail") und nimmt nicht einfach das verlinkte Original-Bild, in per width="..." und height="" "zusammengestauchter" Form ...

                      PHP-Code:
                      // Pfad zum Ausgangsverzeichnis festlegen
                      $base_path getcwd(). '/uploads/images/Blog';

                      $filenames = array ();
                      // Verzeichnis oeffnen und enthaltene Dateien einlesen
                      if (is_object($dir dir($base_path))) {
                          while (
                      is_string($entry $dir->read())) {
                              if (
                      '..' === $entry || '.' === $entry) {
                                  continue;
                              }
                              
                      // is_file() und filemtime() benoetigen den
                              // gesamten Pfad der Datei, 
                              // nur $entry reicht nicht
                              
                      $file_path $base_path DIRECTORY_SEPARATOR $entry;

                              
                      // keine Datei? Dann weiter mit dem naechsten Eintrag
                              // Dateiname endet nicht auf ".jpg"? Weiter mit dem naechsten Eintrag
                              
                      if (!is_file($file_path) || !preg_match('/\.jpe?g\z/'$entry)) {
                                  continue;
                              }
                              
                      // Datum der letzten Aenderung ermitteln
                              
                      $filenames[$entry] = filemtime($file_path);
                          }
                          
                      $dir->close();
                      }

                      // sortieren nach Array-Werten
                      // unter Beibehaltung der Schlüssel-Wert-Assozationen
                      arsort($filenames);
                      // asort($filenames) sortiert vom aeltesten zum neuesten Eintrag

                      // ausgeben

                      // hier eigene Base-URL einsetzen
                      $base_url $base_path '/';

                      foreach (
                      $filenames as $entry => $mtime) {
                          
                      $img_url htmlspecialchars($base_url rawurlencode($entry));
                          
                      printf(
                              
                      '<a href="%s" rel="lytebox[vacation]">'.
                              
                      '<img src="%s" width="90" height="68" border="0"/>'.
                              
                      '</a>' "\r\n",
                              
                      // ein Zeilenumbruch macht den HTML-Quelltext uebersichtlicher (Debugging)
                              
                      $img_url,
                              
                      $img_url
                          
                      );

                      Zuletzt geändert von fireweasel; 17.05.2010, 01:18.
                      Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                      Kommentar


                      • #12
                        Um solche Arrays nach dem Wert zu sortieren, ohne die Zuordnung zu verändern, gibt es asort() und arsort().
                        Man könnte auch uasort()verwenden!
                        Wir werden alle sterben

                        Kommentar

                        Lädt...
                        X