Bildgroesse anpassen

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

  • Bildgroesse anpassen

    hallo

    würde gerne die Bilder nach der Bildhoehe sortieren, weiss aber net wie das geht. Vielleicht könnte mir jemand helfen?
    PHP-Code:
    <? 
    $a=0;                
    $ver = opendir("pix");
    $file= readdir($ver);                            
            
    while ($file= readdir($ver))
    {
        if($file== ".." || $file == "."){
            $a++;
        }
        else
        {                        
            $info=getimagesize('pix/'.$file);
            $breite=$info[0];
            $hoehe=$info[1];            
                            
            echo $file, $breite ,$hoehe.'<br>';                
                    }            
        }            
    ?>

  • #2
    speichere alle bilder in einem array nach dem prinzip "dateiname" => "bildhöhe", sortiere das array und gib es aus.

    Kommentar


    • #3
      ähm ja...ähm nein

      mhnnaja ich als newbie hab es mal versucht...
      PHP-Code:
      <? 
      $a=0;
      $x=0;
      $ver = opendir("pix");
      $file= readdir($ver);                            

      while ($file= readdir($ver))
      {
          if($file== ".." || $file == "."){
              $a++;
          }
          else
          {
              $info=getimagesize('pix/'.$file);
              $breite=$info[0];
              $hoehe=$info[1];
              $bilder=array($file=>array(),$hoehe=>array());
              echo $bilder;            
              while(                
              }                    
          }            
      ?>
      jetzt gibte er mir ersteinmal 9 "Arrays" aus wegen 9 datein...
      dachte jetzt steht da bildname&hoehe. warum ist dem net so?

      Kommentar


      • #4
        dir fehlen die grundlagen zum umgang mit arrays, versuch's erstmal mit http://de3.php.net/manual/de/language.types.array.php

        ansonsten:
        PHP-Code:
        $bilder[$file] = $hoehe
        weiter mit sort() und print_r().

        Kommentar


        • #5
          ok danke bin weiter...


          doch wie kann ich denn die sort flags benutzen ?
          habe schon versucht sort_flags(SORT_NUMERIC($bilder[$file]));
          etc, ...aber er will einfach nicht nach den hoehen angaben sortieren ...
          vielleicht eine kleine hilfe
          PHP-Code:
          $info=getimagesize('pix/'.$file);
          $breite=$info[0];
          $hoehe=$info[1];
                  
          $bilder[$file] =array($hoehe);
              
          sort_flags(SORT_NUMERIC($bilder[$file]));
              
          reset ($bilder[$file]);
              while (list (
          $key$val) = each ($bilder[$file])) {
                echo 
          $val.'<br>'
          Zuletzt geändert von kasIQ; 26.08.2005, 18:30.

          Kommentar


          • #6
            die flags übergibt man (falls überhaupt nötig) als zweites argument an die funktion sort() bzw. rsort(), wenn rückwärts sortiert werden soll.

            aber was soll das?
            PHP-Code:
            /* ... */ = array($hoehe); 
            so habe ich das nicht formuliert.

            und reset() soll ein array und nicht irgend ein einzelnes element übergeben bekommen.

            Kommentar


            • #7
              ähm sort() setzt ein array vorraus ,
              so daß ich wenn ich das einsetzte, was du mir geschrieben hast, eine fehlermeldung bekomme sobald ich sort verwende.
              PHP-Code:
              $bilder[$file] =$hoehe;
                  
              sort($bilder[$file]);
                  
              reset ($bilder[$file]);
                  while (list (
              $key$val) = each ($bilder[$file])) {
                   echo 
              $val.'<br>';} 

              Kommentar


              • #8
                ich habe dir niemals geschrieben, ein element eines arrays an sort(), reset() oder each() zu übergeben. lies dir nochmal die dokumentation durch, wie man das gesamte array sortiert oder wasauchimmer.

                Kommentar


                • #9
                  ok

                  Kommentar


                  • #10
                    bin einfach zu blöd für das array

                    boah bin voll am verzweifeln,saß 4 stunden rum und habe nichts brauchbares rausbekommen..das was jetzt wieder da steht ist
                    PHP-Code:
                    .....
                    else{                
                        
                    $info=getimagesize('pix/'.$file);
                        
                    $breite=$info[0];
                        
                    $hoehe=$info[1];    
                                                                        
                        
                    $bildhoehe=array($file=>$hoehe);
                        
                    sort($bildhoehe);
                        
                    reset ($bildhoehe);
                        list(
                    $file,$val) = each ($bildhoehe);
                        
                    print_r($val);        
                                            

                    und sortieren tut das auch nicht wirklich. Wollte auch das ergebnis des kompletten arrays &bildhöhe aus der while schleife rausnehmen und dort dann sortieren lassen. Hier wird mir aber immer nur der wert des letzten bildes angezeigt, was ja uach klar ist......

                    Kommentar


                    • #11
                      in meiner zweiten antwort habe ich dir gezeigt, wie man das array füllen sollte. du hast es anscheinend bis jetzt nicht gesehen.

                      schmeiß das list/each raus, print_r kann dir den inhalt auch so zeigen.

                      sortieren sollte man nachdem alle dateien enigelesen wurden.

                      Kommentar

                      Lädt...
                      X