ugrás a tartalomhoz

Nagyméretű Képek

Qem201 · 2011. Júl. 4. (H), 19.47
Sziasztok!

Van egy galéria scriptem ami tökéletesen működik, csak 1 baj van vele.
Mivel nagy méretű ( felbontású ) képeket jelenít meg ,sajnos az oldal betöltés belassul.

Kérdésem az ,hogy lehet ne ezt ki küszöbölni?
Átméretezni a képet és úgy feltölteni nem jó mert bulifotókat jelenít meg.
A script igaz átméretezi a képet 600X400-ba de ha le mentik akkor a teljes méretbe mentik le és ez így lenne a jó hogy teljes méretbe le mentsék akinek kell a kép.

Remélem értitek mi a gondom.....

A kódom a következő:

Ez jeleníti meg a mappa tartalmat:
  1. <div class="div-tartalmi">  
  2. <h1>Galériák</h1>  
  3. <?php  
  4. $galeler = "./!gallery"//mappa elerese  
  5. // mappa tartalam kilistazasa  
  6. if ($k_azon = opendir($galeler)) {  
  7. while (false !== ($fajl = readdir($k_azon))) {  
  8.     if(is_dir($galeler."/".$fajl) && $fajl!="." && $fajl!=".."){  
  9.             $myFile = $galeler."/".$fajl."/".$fajl.".txt"// .txt fajl tartalom ki iratasa  
  10.             if(is_file($myFile)){  
  11.                 $fh = fopen($myFile'r');  
  12.                 $theData = fgets($fh);  
  13.                 fclose($fh);  
  14.                 $dir_name[] = $theData;  
  15.             }else{  
  16.                 $dir_name[] = $fajl;  
  17.             }  
  18.             $dir_array[] = $fajl;  
  19.         }  
  20.     }  
  21.     closedir($k_azon);  
  22. }  
  23. array_multisort($dir_array,$dir_name);  
  24. $i = 0;  
  25. foreach($dir_array as $file) {  
  26. echo '<div class="div-galbox">'."\n".'<div class="div-galkep">';  
  27. $keep = randImgFromGall($galeler."/".$file);  
  28. if($keep){  
  29.     echo "<img src=\"thumbimg.php? // index képek keszitese  
  30. thmb=".$galeler."/".$file."/".$keep."\" alt=\"\" /><br />\n";  
  31. }elseecho "\t<div class=\"divNoThumb\">Nincs kép feltöltve!</div>\n"; }  
  32. echo "</div>\n<a href=\"galeriain-".$file."\">".$dir_name[$i]."</a><br />\n";  
  33. echo "</div>\n";  
  34. $i++;  
  35. }  
  36. ?>  
  37. </div>  
Ez pedig az index kép illetve az átméretezett kép:
  1. <?  
  2. error_reporting(0);  
  3. header("Content-type: image/png");  
  4. include("./config.php");  
  5. function resizeImage($originalImage,$toWidth,$toHeight){      
  6.     list($width$height) = getimagesize($originalImage);  
  7.     $xscale=$width/$toWidth;  
  8.     $yscale=$height/$toHeight;      
  9.     if ($yscale>$xscale){  
  10.         $new_width = round($width * (1/$yscale));  
  11.         $new_height = round($height * (1/$yscale));  
  12.     }  
  13.     else {  
  14.         $new_width = round($width * (1/$xscale));  
  15.         $new_height = round($height * (1/$xscale));  
  16.     }  
  17.   
  18.     // Eredeti kepet atmeretezi  
  19.   
  20.     $imageResized = imagecreatetruecolor($new_width$new_height);  
  21.     $imageTmp     = imagecreatefromjpeg ($originalImage);  
  22.     imagecopyresampled($imageResized$imageTmp, 0, 0, 0, 0, $new_width$new_height$width$height);  
  23.     return $imageResized;  
  24. }  
  25. if($_GET['sz']){ $szel = $_GET['sz']; }else$szel=160; } // index kep szelessege  
  26. if($_GET['m']){ $mag = $_GET['m']; }else$mag=80; }// index kep magassaga  
  27. if($_GET['big']==1){$szel=600; $mag=400;} // nagy kep merete  
  28. $kep = $_GET['thmb'];  
  29. $fajl = resizeImage($kep,$szel,$mag);  
  30. imagepng($fajl);imagedestroy($fajl);  
  31. ?>  
 
1

Formázd meg

janoszen · 2011. Júl. 4. (H), 19.52
Nos, akkor talán formázd meg a kódodat, hogy ne csak be legyen hányva ide, hanem nézzen is ki valahogy. Tudod, a kapcsos zárójelnél eggyel beljebb húzzuk, a fölösleges sortöréseket kitakarítjuk, bekommentezzük, hogy mi mit hivatott csinálni, stb. Ha valakitől azt várod, hogy igényesen válaszoljon, akkor légy Te is igényes a kérdésed felvetésében.

A fórum társaktól azt kérem, hogy addig ne válaszoljanak, amíg rendbe nem szedte a kódját, különben a kolléga ugyanúgy betolja legközelebb is gondolkodás nélkül. Köszönöm!
2

Most már remélem tetszik így

Qem201 · 2011. Júl. 11. (H), 08.24
Most már remélem tetszik így :)
3

Mi a kérdés?

Poetro · 2011. Júl. 11. (H), 09.41
Ki ment le, mit, hogyan, mikor, miért? A másik dolog, hogy miért generálod le minden alkalommal a kis méretű képeket, miért nem csak egyszer, és utána mented le egy fájlba, majd azt adod vissza, vagy egy 301-es HTTP kóddal átirányítod az átméretezett és lementett képre? Ez eleve sokat segítene az oldal betöltődésén.