Avatar
Adam Malý
Člen
Avatar
Adam Malý:

Čau potřeboval bych poradit s tímto zadáním :

Zhotovte novou webovou aplikaci , která bude představovat fotoalbum.

  • Pomocí funkce Glob proskenujete adresář s fotografiemi a načtete soubory do pole
  • pole s názvy zpracujete tak, aby se náhledy zobrazovaly ve velikosti 180 * x px po čtyřech vedle sebe v tabulce a každý náhle byl orámovaný
  • při kliku na každý náhled dojde k zobrazení originální fotky.

Nevím si stím rady a moc tomu nerozumím tak kdyby se našel někdo ochotný. Díky

 
Odpovědět 17. dubna 11:57
Avatar
doMík
Člen
Avatar
doMík:

To by nemělo být nic složitého :) jen ten druhý bod mi není úplně jasný, v té složce máš obrázky v plné velikosti a obrázky náhledové, nebo obrázky pouze v plné velikosti a ty náhledové musíš generovat?

 
Nahoru Odpovědět 17. dubna 12:20
Avatar
Adam Malý
Člen
Avatar
Adam Malý:

pouze obrázky v plné velikosti a ty náhledové generovat. :-)

 
Nahoru Odpovědět 17. dubna 13:40
Avatar
Nahoru Odpovědět 17. dubna 14:20
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Adam Malý
Člen
Avatar
Adam Malý:

nevím jak to udělat?

 
Nahoru Odpovědět 17. dubna 14:23
Avatar
doMík
Člen
Avatar
doMík:

Tu změnu velikosti předpokládám nemůžeš obejít přes CSS, že?

 
Nahoru Odpovědět 17. dubna 14:45
Avatar
Adam Malý
Člen
Avatar
Adam Malý:

jo css mužu

 
Nahoru Odpovědět 17. dubna 14:48
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Adam Malý
David Hynek:

V té nejjednoduší formě to může vypadat takto.. ulož si to jako index.php do složky s fotkama a pak jen spustit... jo a HTML si doplň sám :)

<?php
header('Content-type: text/html; charset=utf-8');


$a = 0;
echo "<table>\n<tr>";
foreach (glob("*.jpg") as $filename) {
   echo "\t<td><a href='{$filename}'><img src='{$filename}' width=180 title='{$filename}'/></a></td>\n";
   $a++;
   if($a%4 == 0) echo "</tr>\n<tr>";
}
if($a%4!=0) echo str_repeat("<td></td>", (4- ($a%4)));
echo "</tr>\n</table>";

?>
Editováno 17. dubna 17:03
Nahoru Odpovědět  +1 17. dubna 17:01
Čím víc vím, tím víc věcí nevím.
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Adam Malý
David Hynek:

jo má to jít přes pole fotek... tak ještě vsuvka :)

<?php
header('Content-type: text/html; charset=utf-8');

foreach (glob("*.jpg") as $filename)  $pole[] = $filename;

$a = 0;
echo "<table>\n<tr>";
foreach ($pole as $filename)
{
   echo "\t<td><a href='{$filename}'><img src='{$filename}' width=180 title='{$filename}'/></a></td>\n";
   $a++;
   if($a%4 == 0) echo "</tr>\n<tr>";
}

if($a%4!=0) echo str_repeat("<td></td>", (4- ($a%4)));
echo "</tr>\n</table>";

?>
Nahoru Odpovědět  ±0 17. dubna 17:09
Čím víc vím, tím víc věcí nevím.
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na David Hynek
Jiří Gracík:

Po zběžném shlédnutí mám velké pochybnosti o funkčnosti a efektivitě kódu.

Nahoru Odpovědět 17. dubna 17:35
Creating websites is awesome till you see the result in another browser ...
Avatar
doMík
Člen
Avatar
Odpovídá na Adam Malý
doMík:

vzhled by se měl řešit mimo, takže to ostylovat třeba něčím takovým

table img {width: 180px; border: 1px solid black}

a kód samotný buď něco jako je výše a nebo třeba

$files = glob("*.png"); //nebo *.* pro jakýkoliv typ souboru
echo("<table>");
for($i = 0; $i < count($files); $i++)
{    echo("<tr>");
    for($j = 0; $j < 5&&$i < count($files); $j++)
    {
        echo('<td><a href="'.$files[i].'" title="zobrazit obrázek '.$files[i].' v plné velikosti"><img src="'.$files[i].'" alt="'.$files[i].'"></a></td>');
        $i++;
    }
    echo("</tr>");
}
echo("</table>");

ps: možná tam mám nějakou chybku, píšu to přímo tady.

 
Nahoru Odpovědět 17. dubna 17:53
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Jiří Gracík
David Hynek:

nedával bych to sem, kdyby to nefungovalo... :)

Nahoru Odpovědět 17. dubna 18:42
Čím víc vím, tím víc věcí nevím.
Avatar
Adam Malý
Člen
Avatar
Adam Malý:

Díky všem :)

 
Nahoru Odpovědět 17. dubna 18:51
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na David Hynek
Jiří Gracík:

Dobře, omlouvám se, funkční to je. Je to jen neefektivní.

Nahoru Odpovědět  +1 17. dubna 20:29
Creating websites is awesome till you see the result in another browser ...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 14 zpráv z 14.