Autor Zpráva
Bobíček
Profil *
ukládám na web dosti fotek a měl bych dotaz, zda ke každému jpg musí být vlastní html-stránka, zda by nestacila jedna - univerzální. pokud musí být, jak je dělat nějakým jednoduchým způsobem, prográmky se mi neosvědčily a ručně je to šílený.
děkuji za rady
Yuhů
Profil
Jedna univerzální stránka by mohla stačit, ale vždy se na ní musí použít nějaká forma programování, aby to mělo cenu.

Dá se to udělat přes javascript nebo přes PHP. Přes PHP je to spolehlivější (teoreticky může mít někdo javascript vypnutý), ale náročnější.

Navíc se dají odkazy namířit přímo na jpg soubory, já to tak dělám asi nejraději.

Pak taky existuje možnost nadefinovat si na stránce s náhledy javascriptovou funkci a konkrétní stránku obrázku vyskládat pomocí document.write.

Napiš sem, jaká možnost se ti zamlouvá a já to sem zkusím sesmolit.
Bobíček
Profil *
odkazy mířící přesně na jpg jsou nejlepší, akorát je problém, že s nima už neudělám vůbec nic - rámeček, centrování, podklad, apod.
tyhle tři úpravy tohle mě zcela stačí, žadné titulky a označení tam nemám (to dělám na stránce odkázů).
ale co je nejlepší absolutně nedokážu rozhodnout. do php a scriptu se zatím nehrnu, takže nevím...
Yuhů
Profil
No takže ta stránka stranka-s-obrazkem.html by mohla vypadat takhle:

<html>
... hlavička dle libosti
<body>
... obaly dle libosti
<img src="" id="obrazek">

<script>
var adresa = location.search.substr(1) + ".jpg";
document.getElementById("obrazek").src= adresa;
</script>
.. další obsah dle libosti
</body>
</html>

A ta stránka by se měla odkazovat
href="stranka-s-obrazkem.html?obrazek1"
pokud má obsahovat obrázkek jménem obrazek1.jpg

Aktualizace: doplnil jsem tam to substr(1), jak mě někdo níže správně opravil.
Bobíček
Profil *
dotazy žádné ale chtěl jsem jít spát a to tedy nepujdu - vypadá to, že svoje stránky budu hodně dlouho přeměňovat, tak ti teda pěkně děkuju! :-D
ale teď vážně - díky moc za pomoc, vypadá to skvěle!
DoubleThink
Profil *
<html>
... hlavička dle libosti
<body>
... obaly dle libosti

<?
if (file_exists($source)){
echo "<img src=\"$source\">";
} else {
echo "Obrázek nenalezen!";
}
?>



.. další obsah dle libosti
</body>
</html>


Odkaz na tuto stránku pak musí vypadat takto:

stranka.php?source=obrazek.jpg
habendorf
Profil
Bobíček: Než se do toho pustíš, ještě bys měl zvážit, jestli nebudeš chtít mít u velkého obrázku nějaké přechodové prvky typu předchozí, další apod., abys to pak zase celé nepředělával.
Stačí ti jen ta stránka se zmenšeninami (galerie) a v ní skript, který vytvoří tu stránku s obrázkem (náhledové okno) pomocí document.writeln (jak psal Yuhů výše). Dokonce tam můžeš zapisovat i skripty, takže takové skriptovámí na druhou.
Takhle:
nahled.document.writeln("<!DOCTYPE ...
nahled.document.writeln("<HTML>");
nahled.document.writeln("<HEAD>");
atd.

A skriptování v náhledu:
nahled.document.writeln("<script language=\"JavaScript\">");
nahled.document.writeln("document.writeln('Text v náhledu vypsaný skriptem, který byl vygenerován skriptem v galerii')");

Akorát je to horor syntakticky, musíš syntaxi jednoho skriptu obalit syntaxí toho mateřského skriptu. Takže zapsat obrázek může být třeba takováhle hrůza:

str = <IMG SRC=\"" + source + "\" ALT=\"" + ImgJmeno[i];
str = str + "\" BORDER=\"0\" id=\"img" + i + "\" width=\"" + nPicWidth[i] + "\" height=\""+ nPicHeight[i] + "\">
nahled.document.writeln(str);

U tohoto způsobu je nejlepší využít Array.
Yuhů
Profil
a to jsme ještě moc nevzali v úvahu, že ty obráhky můžou mít jiné velikosti. Výše uvedené příklady jsou prostě jenom pro inspiraci. Vždy je dobré přizpůsobit je konkrétním podmínkám a potřebám.
habendorf
Profil
Tak jsem to výše trochu změnil. Stačilo dopsat [i], už mohou mít různé velikosti. Musím je ovšem před tím zapsat do nějakého pole.
Bobíček
Profil *
uffff....pánové oceňuju vaší snahu ale jsem asi tupej! nějak mi to neleze do hlavy a na stránkách to nemaká. stránka se objevuje skvěle ale bez obrázku...teď už ani nevím, co mám nahradit a co je proměnná. Yuhů, prosím moc, popiš mi to ještě jednou s tím, že bych měl fotku s názvem "Wartburg.jpg".
ještě jednou moc velké díky
PS: žádné předchozí/další tam nechci
habendorf
Profil
Yuhů tam má totiž chybku, musí tam být var adresa = location.search.substr(1) + ".jpg"; aby to odřízlo ten otazník.
Takže:
<img src="" id="obrazek">
<script>
var adresa = location.search.substr(1) + ".jpg";
document.getElementById("obrazek").src= adresa;
</script>


a volat to:href="stranka-s-obrazkem.html?Wartburg"
Bobíček
Profil *
funguje!!! super! to je paradička!
díky moc, tohle mi bodne strašně hodně. jen "nasypu" fotky na web, přidám náhledy a hotovo.
ještě jednou díky

ale měl bych ještě jeden problémek, nešlo by nějak nastavit maximální zobrazované rozměry? tj. když by měla fotka menší rozměr, tak by se zobrazila normálně a když by byla větší, tak by se zobrazila v zadaným měřítku
habendorf
Profil
Spíš bych doporučoval zmenšit ty velké fotky předem. Jde o to, aby se to nestahovalo zbytečně dlouho, když se to pak stejně bude zobrazovat menší.
Bobíček
Profil *
jj..to je jasné. jenže já je mám jednak pro zobrazení a jednak pro stáhnutí, takže vyšší kvalita je potřeba. zase bych nechtěl nahrávat na web dva soubory/rozměry jedné fotky.
bojars
Profil
Prepáčte páni, skúsil som to a funguje to...
(tiež ma napadol tento problém a pomohli ste mi díky).
habendorf
Profil
Bobíček: Šlo by to skriptem, ale vykašlal bych se na to a nastavil bych pevný rozměr pro všechny obrázky, nějaký kompromis. Jen doufám že tam nemáš taky fotky "na výšku".
Bobíček
Profil *
hehehe...to by bylo dobrý!! :-D
asi máš pravdu, žádný malinkatý fotky tam nemám a tak by to šlo. a i kdyby byly na výšku, tak není problém udělat dvě "volné" stránky, jednu pro "výšku" a jednu pro "šířku" a dle potřeby je rozhazovat.
paráda...ještě jednou díky tobě i pro Yuhů
pyty
Profil
nedalo by sa v galerii //ako na tej jednej stranke// urobit nieco ako Ďalší , Predchadzajúci aj pomocov PHP, ked mam stránku s tým scriptom hore
<?
if (file_exists($source)){
echo "<img src=\"$source\">";
} else {
echo "Obrázek nenalezen!";
}
?> ???? tHx
Yuhů
Profil
pyty, to se ptáš, nebo je to řešení? Myslím, že stačí najít správnou syntaxi té funkce, která se ptá na existenci souboru (to file_exists()). Ale z hlavy to nevím, se soubory moc nedělám.
Codename_47
Profil *
neviete dakto ako urobit odkazy na dalsi a predchadzajuci obrazok pomocov PHP ?
Yuhů
Profil
Codename_47, to přece záleží na konkrétním postavení celé aplikace! Obecně se to nedá říci. Prostě v PHP vyskládáš odkaz, který bude mířit na předchozí a další stránku.
Codename_47
Profil *
myslel som to tak, ze mam taku galeriu jak je tam hore
<?
if (file_exists($source)){
echo "<img src=\"$source\">";
} else {
echo "Obrázek nenalezen!";
}
?>
Yuhů
Profil
no ale to už se přece řešilo výše ... a nevíme
Codename_47
Profil *
ahaa...
pyty
Profil
Tak, mam tu pre vas jednoduchu galeriu, kde je aj dalsi a prdchadzajuci..
je to moja tvorba, no PHP skoro vobec neviem, tak som len poskladal kusky dohromady:

<html>
<head>
<title>Galéria</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="description" content="Galéria" lang="sk">
<meta name="keywords" content="Galéria" lang="sk">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta http-equiv="Content-Language" content="sk">
<meta http-equiv="author" content="pyty">
<meta http-equiv="imagetoolbar" content="no">
<style>
body {background-color: black; color: #6699CC; font-family: Arial; font-size: 14px}
body, html {scrollbar-track-color: black; scrollbar-face-color: black; scrollbar-highlight-color: black; scrollbar-3dlight-color: #6699CC; scrollbar-darkshadow-color: #6699CC; scrollbar-shadow-color: black; scrollbar-arrow-color: #6699CC}
a:link {color: #669966; text-decoration: none}
a:visited {color: #669966; text-decoration: none}
a:hover {color: white; text-decoration: none}
a:active {color: #669966; text-decoration: none}
.pismenka {color: #CC9966; font-family: Arial; font-weight: bold; font-size: 20px}
</style>
</head>
<body>
<center>
<?
$pole = range(1,7);
$viac = $_GET['source'] + 1;
$menej = $_GET['source'] - 1;
$source='pyty_800x600.jpg';
$text = "pyty";
if ($_GET['source']==1) { $source='pyty_800x600.jpg'; $text = "pyty"; }
if ($_GET['source']==2) { $source='barnyboy_800x600.jpg'; $text = "BarnyBoy"; }
if ($_GET['source']==3) { $source='gigi_800x600.jpg'; $text = "GiGi"; }
if ($_GET['source']==4) { $source='vietcong_800x600.jpg'; $text = "Vietcong"; }
if ($_GET['source']==5) { $source='na_luke_800x600.jpg'; $text = "Na lúke"; }
if ($_GET['source']==6) { $source='mouse_killer_800x600.jpg'; $text = "Mouse killer"; }
if ($_GET['source']==7) { $source='red_ninja_800x600.jpg'; $text = "Red ninja"; }
echo "<img align=\"center\" alt=\"IMAGE\" src=\"images/galeria/$source\" border=\"0\" width=\"800\" height=\"600\"><br><span class=\"pismenka\">$text</span>";
?></center>
<p align="center" class="bezpod">
<?
if (!in_array($_GET['source'], $pole) || $_GET['source']=='1') echo "&lt;&lt;&lt";
else echo "<a href=\"gal.php?source=" . $menej . "\">&lt;&lt;&lt;</a>";
?>&nbsp;&nbsp;
<? if (!in_array($_GET['source'], $pole) || $_GET['source']==1) echo "[1]"; else echo "<a target=\"_self\" href=\"gal.php?source=1\">[1]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==2) echo "[2]"; else echo "<a target=\"_self\" href=\"gal.php?source=2\">[2]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==3) echo "[3]"; else echo "<a target=\"_self\" href=\"gal.php?source=3\">[3]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==4) echo "[4]"; else echo "<a target=\"_self\" href=\"gal.php?source=4\">[4]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==5) echo "[5]"; else echo "<a target=\"_self\" href=\"gal.php?source=5\">[5]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==6) echo "[6]"; else echo "<a target=\"_self\" href=\"gal.php?source=6\">[6]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==7) echo "[7]"; else echo "<a target=\"_self\" href=\"gal.php?source=7\">[7]</a>"; ?>&nbsp;&nbsp;
<?
if (!in_array($_GET['source'], $pole)) echo "<a href=\"gal.php?source=2\">&gt;&gt;&gt;</a>";
else if ($_GET['source']=='7') echo "&gt;&gt;&gt;";
else echo "<a href=\"gal.php?source=" . $viac . "\">&gt;&gt;&gt;</a>"
?>
</body>
</html>
pyty
Profil
ja pouzivam verziu obohatenu este o popisy obrazkov: (aj pred. a nasl.)

<html>
<head>
<title>Galéria</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="description" content="Galéria" lang="sk">
<meta name="keywords" content="Galéria" lang="sk">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta http-equiv="Content-Language" content="sk">
<meta http-equiv="author" content="pyty">
<meta http-equiv="imagetoolbar" content="no">
<style>
body {background-color: black; color: #6699CC; font-family: Arial; font-size: 14px}
body, html {scrollbar-track-color: black; scrollbar-face-color: black; scrollbar-highlight-color: black; scrollbar-3dlight-color: #6699CC; scrollbar-darkshadow-color: #6699CC; scrollbar-shadow-color: black; scrollbar-arrow-color: #6699CC}
a:link {color: #669966; text-decoration: none}
a:visited {color: #669966; text-decoration: none}
a:hover {color: white; text-decoration: none}
a:active {color: #669966; text-decoration: none}
table, td, tr {color: #6699CC; font-family: Arial; font-size: 14px}
.pismenka {color: #CC9966; font-family: Arial; font-weight: bold; font-size: 20px}
</style>
<script>
function vloz(co){document.getElementById("1").innerHTML=co;document.getElement ById("2").innerHTML=co;}
function n(){document.getElementById("1").innerHTML="";document.getElementById( "2").innerHTML="";}
</script>
</head>
<body>
<center><?
$pole = range(1,7);
$viac = $_GET['source'] + 1;
$menej = $_GET['source'] - 1;
$source='pyty_800x600.jpg';
$text = "pyty";
if ($_GET['source']==1) { $source='pyty_800x600.jpg'; $text = "pyty"; $nad="BarnyBoy"; }
if ($_GET['source']==2) { $source='barnyboy_800x600.jpg'; $text = "BarnyBoy"; $nad="GiGi"; $pod="pyty"; }
if ($_GET['source']==3) { $source='gigi_800x600.jpg'; $text = "GiGi"; $nad="Vietcong"; $pod="BarnyBoy"; }
if ($_GET['source']==4) { $source='vietcong_800x600.jpg'; $text = "Vietcong"; $nad="Na lúke"; $pod="GiGi"; }
if ($_GET['source']==5) { $source='na_luke_800x600.jpg'; $text = "Na lúke"; $nad="Mouse killer"; $pod="Vietcong"; }
if ($_GET['source']==6) { $source='mouse_killer_800x600.jpg'; $text = "Mouse killer"; $nad="Red ninja"; $pod="Na lúke"; }
if ($_GET['source']==7) { $source='red_ninja_800x600.jpg'; $text = "Red ninja"; $pod="Mouse killer"; }
echo "<img align=\"center\" alt=\"DmClub production image\" src=\"images/galeria/$source\" border=\"0\" width=\"800\" height=\"600\"><br><span class=\"pismenka\">$text</span>";
?></center>
<table align="center" border="0"><tr><td width="100px" align="center"><span id="1"></span></td><td width="500px" align="center" class="bezpod">
<?
if (!in_array($_GET['source'], $pole) || $_GET['source']=='1') echo "&lt;&lt;&lt";
else echo "<a href=\"gal.php?source=$menej\" onMouseOver=\"vloz('$pod')\" onMouseOut=\"n()\">&lt;&lt;&lt;</a>";
?>&nbsp;&nbsp;
<? if (!in_array($_GET['source'], $pole) || $_GET['source']==1) echo "[1]"; else echo "<a target=\"_self\" href=\"gal.php?source=1\" onMouseOver=\"vloz('pyty')\" onMouseOut=\"n()\">[1]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==2) echo "[2]"; else echo "<a target=\"_self\" href=\"gal.php?source=2\" onMouseOver=\"vloz('BarnyBoy')\" onMouseOut=\"n()\">[2]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==3) echo "[3]"; else echo "<a target=\"_self\" href=\"gal.php?source=3\" onMouseOver=\"vloz('GiGi')\" onMouseOut=\"n()\">[3]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==4) echo "[4]"; else echo "<a target=\"_self\" href=\"gal.php?source=4\" onMouseOver=\"vloz('Vietcong')\" onMouseOut=\"n()\">[4]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==5) echo "[5]"; else echo "<a target=\"_self\" href=\"gal.php?source=5\" onMouseOver=\"vloz('Na lúke')\" onMouseOut=\"n()\">[5]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==6) echo "[6]"; else echo "<a target=\"_self\" href=\"gal.php?source=6\" onMouseOver=\"vloz('Mouse killer')\" onMouseOut=\"n()\">[6]</a>"; ?>&nbsp;&nbsp;
<? if ($_GET['source']==7) echo "[7]"; else echo "<a target=\"_self\" href=\"gal.php?source=7\" onMouseOver=\"vloz('Red ninja')\" onMouseOut=\"n()\">[7]</a>"; ?>&nbsp;&nbsp;
<?
if (!in_array($_GET['source'], $pole)) echo "<a href=\"gal.php?source=2\" onMouseOver=\"vloz('ByrnyBoy')\" onMouseOut=\"n()\">&gt;&gt;&gt;</a>";
else if ($_GET['source']=='7') echo "&gt;&gt;&gt;";
else echo "<a href=\"gal.php?source=$viac\" onMouseOver=\"vloz('$nad')\" onMouseOut=\"n()\">&gt;&gt;&gt;</a>"
?>
</td><td width="100px" align="center"><span id="2"></span></td></tr></table>
</body>
</html>

mozete si ju pozriet na http://dmclub.site.cz/gal.php
kto je odbornik, nech sa vyjadry, ked mate nejake napady na zjednodusenie, alebo pripomienky, npiste pleas =]
Monty
Profil *
Mam velky problem...udelal jsem si web s fontem ktery v zakladni nabidce windowsovskych fontu neni..potreboval bych poradit jestli to nejde nejak udelat aby kazdy videl ten font ktery mam ja aniz by ho musel instalovat.diky moc...
Acci
Profil
Monty
Jde to pouze pomocí dynamických fontů, které ale funguje jen v IE. Nejlepší je používat pouze fonty, které jsou součásti instalace systému
Toto téma je uzamčeno. Odpověď nelze zaslat.