fotogalerie - pls help

už je to celkem dávno, ale někdo mi tu říkal, že má script na fotogalerii, že mu to zmenši objem fotek do nahledu, ze se potom tak dlouho nenačítají. já mám jen obyčejný na fotogalerii, že se udělají zmenšeniny. fotky se načítají ze slozky. ve scriptu je zapsano jak se maji jmenovat a pak uz nemusim psat pokazde <img src...> chtel bych poprosit jestli nekdo mate ten script na zmenseni objemu, jestli byste mi ho nekdo nemohl poskytnout, fakt bych to potrebival.

predem dik
myslim, ze to byl DžejÁr (JR) kdo mel ten script... nemate ho nekdo jinej ? pls pls pls
Fotky zmenšovaný skriptem asi nebudou za moc stát. Když si náhledy uděláš ručně, budou určitě lepší. Pokud upravuješ fotky z digitálu, stejně musíš každou upravit, udělat přitom z nich ještě náhledy netrvá tak dlouho.
Je ovšem možný, že někdo má dobře nastavený skript.
Rozmazaný JPG vycházejí mnohem menší soubory, než přeostřený. Na těch ale např. člověka poznám, na rozmazaném ne. Takže paradoxně, když šetřím místem, donutím všechy fotky otvírat, protože z těch malých nikdo nic nepozná. Takže se stahuje mnohem víc. Je to třeba nějak rozumně vyvážit.
Viděl jsem takto strašně udělaný profesionální objednávkový systém fotek z promocí, kde si měli zájemci vybrat co chtějí udělat. Ale z náhledů jsem nepoznal ani sólo portréty, natož lidi ve skupinkách. Takže odklikat cca 100 fotek...
ja si myslim, ze z nahledu, at jsou jakkoliv velky nebo ostry, se fotky pro nejaky objednavani nedaji vybirat, stejne bych si to asi proklikal :D
kazdopadne asi jinak nejsem nejak narocnej... vystacim si s thumbama 66×50px generovanyma skriptem v php primo z originalnich fotek...
function udelat_nahled($saveToDir, $imagePath, $imageName, $max_x, $max_y) {
preg_match("'^(.*)\.(gif|jpe?g|png)$'i", $imageName, $ext);
switch (strtolower($ext[2])) {
case 'jpg' :
case 'jpeg': $im = imagecreatefromjpeg ($imagePath);
break;
case 'gif' : $im = imagecreatefromgif ($imagePath);
break;
case 'png' : $im = imagecreatefrompng ($imagePath);
break;
default : $stop = true;
break;
}

if (!isset($stop)) {
$x = imagesx($im);
$y = imagesy($im);

if (($max_x/$max_y) < ($x/$y)) {
$save = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x));
}
else {
$save = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y));
}
imagecopyresized($save, $im, 0, 0, 0, 0, imagesx($save), imagesy($save), $x, $y);

imagegif($save, "{$saveToDir}{$ext[1]}.gif");
imagedestroy($im);
imagedestroy($save);
}
}
--------------
$saveToDir - adresář, kam se má náhled uložit (i s / na konci)
$imagePath - velký soubor
$imageName - jak se má jmenovat náhled
$max_x/y - maximální šířka/výška
Donny: no dyt presne to potrebuju

plusminus+- : v tom se nějak nevyznám, v php neumim skoro nic. ale vypadá to jako ono, ale vůbec nevim jak to nastavit :(
pepe: pokud budes pouzivat jenom obrazky ve formatu JPEG, tak se to da zjednodusit. Pred par dny jsem toto psal do fora PHP:
Nasledujici text (tak, jak je) uloz do souboru (treba) image.php.
Tam, kde je $sirka=100; a $vyska=67; , tak tam si dopln vlastni cisla.
Precti si komentare (vse za //).

<?php
// toto je soubor image.php
// Pr. pouziti: <img src='fotky.php?file=fotka1' alt='nahled fotky' />
// ze souboru fotky/fotka1.jpg udela nahled o velikost $sirka a $vyska

// Adresar, ve kterem jsou umisteny fotky-velke originaly (bez / na konci)
$slozka = 'fotky';

// parametry vysledneho thumbnailu
$sirka = 100;
$vyska = 67;

Header("Content-type: Image/JPEG");
$soubor = "$slozka/$_GET[file].jpg";
$imageinfo = getimagesize($soubor);
$novy_obrazek = ImageCreateTrueColor($sirka, $vyska);
$stary_obrazek = ImageCreateFromJPEG($soubor);
ImageCopyResized($novy_obrazek,$stary_obrazek,0,0,0,0,
$sirka, $vyska,
ImageSX($stary_obrazek),ImageSY($stary_obrazek));
ImageJPEG($novy_obrazek);
Destroy($novy_obrazek);
Destroy($stary_obrazek);
?>

Tenhle skript primo za behu vygeneruje obrazek, pouzijes ho normalne v HTML (priklad je v poznamce ve skriptu). Takhle vygenerovane nahledy se nikam na serveru neukladaji, pri kazdem pouziti se vygeneruji znovu.

Ten od plusminus+-a je funkce v PHP, ktera ulozi zmenseninu zadaneho obrazku do nejake slozky (pozor, ale v tom pripade musis nastavit prava k ty slozce pro zapis). Pouziti tedy pouze v PHP.
Donny: jo to je presne ono, já měl i i script (neuměl zmenšovat velikost v kb ale zmensil treba na 100x100 tj) ale generoval ty obrazky sam takhle musim psat <img src.. > to jsem nemusel predtim.
jestli to dobre chapu, tak tady mas generator <img/> tagu. Ten vloz na misto, kam bys vkladal img tagy a uprav promennou $adresar - nastav ji na misto, kde mas ty fotky ulozeny, a $skript nastav na misto, kde mas ulozenej image.php (pokud jsi ho pojmenoval jinak, musis to prepsat ve zdrojovym kodu).

<?php
$adresar = "adresar_s_fotkama"; //napr. "." nebo "fotky/" nebo "../soubory/fotky" atd.
$skript = "adresar_ve_kterym_je_image.php" // viz vyse, ale na konci vzdycky bez lomitka "/"!

$handle=opendir('$adresar');
while (($file = readdir($handle))!==false) {
echo preg_match("/.jpe?g$/i",$file) ?
"<img src='$skript/image.php?file=".preg_replace("/(.*[^.]).jpe?g/i","\\1",$file)."' />" :
"";
}
closedir($handle);
?>
zapomnel jsem dodat: predpoklad je, ze vzdycky pracujes s obrazky typu JPEG!
Donny: díky, zkusím to
nefunguje
Musíš napsat, co ti to hází za chybu, jinak ti nikdo neporadí.
jj, ale ja uz tohle nepotrebuju, takze vsem dik.. ale uz mam jiny
To je krasnej pristup. a me by zrovna zajimalo, proc to nefunguje. a treba by to zajimalo i nekoho, kdo nema "jiny"...