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:

<div class="div-tartalmi">
<h1>Galériák</h1>
<?php
$galeler = "./!gallery"; //mappa elerese
// mappa tartalam kilistazasa
if ($k_azon = opendir($galeler)) {
while (false !== ($fajl = readdir($k_azon))) {
	if(is_dir($galeler."/".$fajl) && $fajl!="." && $fajl!=".."){
			$myFile = $galeler."/".$fajl."/".$fajl.".txt"; // .txt fajl tartalom ki iratasa
			if(is_file($myFile)){
				$fh = fopen($myFile, 'r');
				$theData = fgets($fh);
				fclose($fh);
				$dir_name[] = $theData;
			}else{
				$dir_name[] = $fajl;
			}
        	$dir_array[] = $fajl;
		}
    }
    closedir($k_azon);
}
array_multisort($dir_array,$dir_name);
$i = 0;
foreach($dir_array as $file) {
echo '<div class="div-galbox">'."\n".'<div class="div-galkep">';
$keep = randImgFromGall($galeler."/".$file);
if($keep){
	echo "<img src=\"thumbimg.php? // index képek keszitese
thmb=".$galeler."/".$file."/".$keep."\" alt=\"\" /><br />\n";
}else{ echo "\t<div class=\"divNoThumb\">Nincs kép feltöltve!</div>\n"; }
echo "</div>\n<a href=\"galeriain-".$file."\">".$dir_name[$i]."</a><br />\n";
echo "</div>\n";
$i++;
}
?>
</div>
Ez pedig az index kép illetve az átméretezett kép:


<?
error_reporting(0);
header("Content-type: image/png");
include("./config.php");
function resizeImage($originalImage,$toWidth,$toHeight){    
    list($width, $height) = getimagesize($originalImage);
    $xscale=$width/$toWidth;
    $yscale=$height/$toHeight;    
    if ($yscale>$xscale){
        $new_width = round($width * (1/$yscale));
        $new_height = round($height * (1/$yscale));
    }
    else {
        $new_width = round($width * (1/$xscale));
        $new_height = round($height * (1/$xscale));
    }

    // Eredeti kepet atmeretezi

    $imageResized = imagecreatetruecolor($new_width, $new_height);
    $imageTmp     = imagecreatefromjpeg ($originalImage);
    imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    return $imageResized;
}
if($_GET['sz']){ $szel = $_GET['sz']; }else{ $szel=160; } // index kep szelessege
if($_GET['m']){ $mag = $_GET['m']; }else{ $mag=80; }// index kep magassaga
if($_GET['big']==1){$szel=600; $mag=400;} // nagy kep merete
$kep = $_GET['thmb'];
$fajl = resizeImage($kep,$szel,$mag);
imagepng($fajl);imagedestroy($fajl);
?>
 
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.