GreeZz: Bilder skaliert auslesen!?

Hey Leute!

Ich versuche grad ein einfaches Galerie script zu bauen.
Mein Problem liegt darin das ich gerne die Bilder skaliert ausgeben würde anstatt extra Thumbnails....

rsort($dateinamen);  
while(list($key, $val) = each($dateinamen)) {  
 if(substr($val, -4) == ".jpg" || ".png")  
 {  
        echo "<A HREF=\"images/".$val."\" TARGET=\"o\"><IMG SRC=\"images/".$val .'WIDTH="50"'.  "\"></A>";  
    }  
}  
?>

wenn ich das:.'WIDTH="50"'. In die thumbnails mit reinmache zeigt er mir gar keine bilder mehr an, wenn ich es wecklasse sind sie halt unskaliert...

danke im voraus!

L.g.

  1. echo "<A HREF="images/".$val."" TARGET="o"><IMG SRC="images/".$val .'WIDTH="50"'.  ""></A>";

    wenn ich das:.'WIDTH="50"'. In die thumbnails mit reinmache zeigt er mir gar keine bilder mehr an, wenn ich es wecklasse sind sie halt unskaliert...

    eh klar, hast du dir schon mal den ausgabe-html code angeschaut, dann sollte dir auffallen, dass das so nicht funktionieren kann

    der übersicht wegen solltest du single ODER double-quoted schreiben, da musst du weit nicht so viel escapen ;) - wenn du doppelte hochkommas ausgeben willst, eignet sich eine single-quoted schreibweise - welche vor- und nachteile diese hat, verärt dir php.net

    echo '<a href="images/' . $val . '" target="o"><img src="images/' . $val . '" width="50%"></a>';

    1. Ich hab mich ja schon gewundert was das für eine komische schreibweise ist!?
      (hab dieses script so im netz gefunden)

      also danke für die infos!

      Greez
      GreeZz

      1. Ich hab mich ja schon gewundert was das für eine komische schreibweise ist!?

        komisch ist die schreibweise nicht und auch gültig, nur sie gibt von dir nicht gültiges html aus

        vereinfacht:
        echo '<a href="#"><div>foo</div></a>'; ist völlig korrektes php, nur der html code eben nicht

        (hab dieses script so im netz gefunden)

        nimm nie scripte die du im netz findest ;)

        jedes programm/script hat mindestens einen bug
        jedes programm/script kann um mindestens eine zeile reduziert werden

        ergo jedes programm/script (auch die, die du im netz findest) ist fehlerhaft ;)

        1. ja ich weis schon, aber bin noch anfänger...
          ich nehm mir einfach sachen die so halb das können was ich will, und bau dan alles dazu was mir grad in den sinn kommt^^, bis jetzt hab ich schon ein gutes grund verständnis entwickelt
          (auch wenn mir dieses verzerrte html noch nicht untergekommen ist, aber da hab ich ja wieder was gelernt^^)

          jetzt hab ich aber noch eine frage!

          also das ist mein script="

          <?PHP  
          //verzeichnis lesen  
          $mydir = getcwd()."/images";  
          $verz = dir($mydir);  
          while($entry=$verz->read()){  
            if($entry != "." && $entry != ".."){  
            $dateinamen[] = $entry;  
           }  
          }  
          $verz->close();  
            
          //Ausgabe  
          rsort($dateinamen);  
          while(list($key, $val) = each($dateinamen)) {  
           if(substr($val, -4) == ".jpg" || ".png" || ".gif" || ".mp3")  
           {  
          echo '<a href="images/' . $val . '" target="picture">&nbsp;<img src="images/' . $val . '" height="95%"></a>';  
           }  
          }  
          ?>
          

          Ich würde da jetzt aber gerne eine "<<<Back 1[2]3 Forward>>>" Funktion einbauen, und das am besten als variable, das ich das in einer andren Frame Steuern kann...

          wie würde ich bei solch einen "zufällig" eingelesenen Code machen???

          danke
          GreeZz

          1. ich nehm mir einfach sachen die so halb das können was ich will, und bau dan alles dazu was mir grad in den sinn kommt^^

            besser ist es, gefundene schnipsel als ideen aufzufassen, andere zu suchen die das selbe tun, den schnipsel zu verstehen und selbst vernünftig nachzubauen ;)

            while(list($key, $val) = each($dateinamen)) {

            hier wärst du mit foreach() wohl besser bedient denke ich

            das hier sollte das array $dateinamen ebenfalls wie gewünscht ausgeben, wenn ich grade nicht neben der spur stehe:
            foreach($dateinamen as $key => $val)

            Ich würde da jetzt aber gerne eine "<<<Back 1[2]3 Forward>>>" Funktion einbauen, und das am besten als variable, das ich das in einer andren Frame Steuern kann...

            count($dateinamen); sollte dir z.b. die anzahl aller im array befindlichen dateinamen liefern

            wie würde ich bei solch einen "zufällig" eingelesenen Code machen???

            dein code ist nicht zufällig eingelesen, dein script sollte bei jedem durchlauf (wenn sich die dateinamen nicht ändern) immer das selbe ergebnis (in der selben reihenfolge) liefern

            setze eine variable als zähler in deiner schleife der sich mit jedem durchlauf um eins erhöht

            anhand dem zähler gibst du dann bilder aus

            alle bilder von bild 11 bis 20 entsprechen als zähler > 10 and < 21 (du musst noch beachten, dass zähler ggf bei 0 oder 1 beginnen)

            1. danke das du mir so hilfst!

              ja ich weis das es so wie du sagst wohl besser zu erlernen ist, aber das ist das einzige funktionierende script was ich dazu gefunden habe...

              also das:

              foreach($dateinamen as $key => $val)

              gib das aus:
              Parse error: syntax error, unexpected T_FOREACH in...

              wenn es nicht zu viele umstände macht, was würde das ändern?

              dein code ist nicht zufällig eingelesen, dein script sollte bei jedem durchlauf (wenn sich die dateinamen nicht ändern) immer das selbe ergebnis (in der selben reihenfolge) liefern

              setze eine variable als zähler in deiner schleife der sich mit jedem durchlauf um eins erhöht

              anhand dem zähler gibst du dann bilder aus

              alle bilder von bild 11 bis 20 entsprechen als zähler > 10 and < 21 (du musst noch beachten, dass zähler ggf bei 0 oder 1 beginnen)

              ah!!! danke, ich denk da steht was in meinen dicken buch drüber drinnen^^

              gReeZz
              -GreeZz

              1. also das:

                foreach($dateinamen as $key => $val)
                gib das aus:
                Parse error: syntax error, unexpected T_FOREACH in...

                wenn es nicht zu viele umstände macht, was würde das ändern?

                http://at2.php.net/foreach

                unexpected T_FOREACH heisst normalerweise, dass davor etwas nicht stimmt, und das foreach hier nicht erwartet wird - zb ein fehlender strichpunkt in der vorherigen zeile

                1. also das:

                  foreach($dateinamen as $key => $val)
                  gib das aus:
                  Parse error: syntax error, unexpected T_FOREACH in...

                  wenn es nicht zu viele umstände macht, was würde das ändern?

                  http://at2.php.net/foreach

                  unexpected T_FOREACH heisst normalerweise, dass davor etwas nicht stimmt, und das foreach hier nicht erwartet wird - zb ein fehlender strichpunkt in der vorherigen zeile

                  ich bekomms nicht hin, ein strichpunkt kann ja kaum fehlen wenn ich nur den part verändere, sobald ich vor das "each" ein "for" setze gehts nicht mehr...

                  ich weis ich bin fürchterlich nervig aber könntest du mir vieleicht sagen wie ich das mit dem hinaufzählen bzw. mit dem dazu addieren in der schleife machen soll?

                  irgentwie gibt mir mein buch viel zu wenig auskunft darüber...

                  l.g.

                2. also das:

                  foreach($dateinamen as $key => $val)

                  geht jetzt...

                  vor lauter hitze kann ich nicht mehr klar denken.... sorry
                  ich hab doch wirklich das while davor stehen lassen.....

                  aber wie bekomm ich da jetzt das "zählen" rein...

                  1. aber wie bekomm ich da jetzt das "zählen" rein...

                    $zaehler = 1;

                    foreach () {
                    echo $zaehler;
                    $zaehler++;
                    }

  2. Hi,

    Ich versuche grad ein einfaches Galerie script zu bauen.
    Mein Problem liegt darin das ich gerne die Bilder skaliert ausgeben würde anstatt extra Thumbnails....

    Das ist aber eigentlich unsinnig - weil dann die grossen Bilder trotzdem erst mal komplett zum Client uebertragen werden muessen, nur damit dieser sie dann verkleinert darstellen kann. Datenvolumen und Uebertragungszeit sind doch normalerweise die beiden Faktoren, die man durch Thumbnails moeglichst gering halten will.

    MfG ChrisB

    --
    "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."