PHP - obrázky v pop-up oknách

Jednoduchý príklad ako dosiahnúť zobrazovanie obrázkov v pop-up oknách. Tento príklad bol testovaný vo všetkých dnešných prehliadačoch a zaručene funguje všade, takže sa ho nebojte použiť. Výhodou je, že obrázky sa zobrazujú rýchlo a bez žiadnych tlačidiel alebo nejakých iných funkcií prehliadača.

Na rôznych weboch ste si mohli všimnúť, že obrázky sa otvárajú v novom okne ale trochu iným spôsobom - v pop-up okne. Ako obyčajne aj teraz môžem len napísať, že to nie je žiadna veda. Všetko čo budeme potrebovať sú len 2 php skripty a jeden z nich bude využívať javascript. Ako prvé si vytvoríme nový súbor a nazveme ho show_image.php a bude obsahovať nasledujúci zdrojový kód:

<script type='text/javascript'>
function create_window (image, sirka, vyska) {
  sirka = sirka + 55;
  vyska = vyska + 80;
  if (window.popup_window && !window.popup_window.closed) {
    window.popup_window.resizeTo (sirka, vyska);
  }

  var window_parameters = "location=no, scrollbars=no, menubars=no, toolbars=no, 
  resizable=yes, left=0, top=0, width=" + sirka + ", height=" + vyska;
  var url = "image.php?image=" + image;
  popup_window = window.open(url, "images", window_parameters);
}
</script>

<p align="center">Zoznam obrázkov.</p>
<table align="center">
<tr>
<td align="center"><b>Obrázky</b></td>
</tr>

<?php
$image['01.jpg'] = 'Obrázok 1';
$image['02.gif'] = 'Obrázok 2';
$image['03.tif'] = 'Obrázok 3';
$image['04.png'] = 'Obrázok 4';
foreach ($image as $i => $c) {
  $image = getimagesize ('images/'. $i);
  echo " <tr><td><a href="javascript: create_window ('$i', $image[0], 
  $image[1])">$c</a></td></tr>";
}
?>
</table>

Javascript sme použili k vytvoreniu okna, ktorému sme zadali parametre tak, aby bolo okno z obrázkom bez stavového riadku, tlačidiel, vlastných tlačidiel prehliadača pod. Jednoducho javascript otvára nové okno. Obrázky sme uložili vo formátoch jpg, gif, tif a png do zložky images/. Cesta k obrázkom je dôležitá a obsahuje ju javascript aj PHP. V PHP sme vytvorili pole, ktorého prvky sú názvy obrázkov. Týchto polí môžeme vytvoriť koľko chceme. Po poliach nasleduje cyklus foreach, ktorý vypíše odkazy na otvorenie popup okien. Nezabudnite si vytvoriť zložku images/ a dať do nej obrázky, ktoré ste zadali do polí, pretože inak sa vám obrázky neotvoria. Ďalší PHP skript je image.php.

<?php
if (isset($_GET['image'])) {
  if ($image = getimagesize ('images/'. $_GET['image'])) {
    echo "<p align="center"><img src="images/{$_GET['image']}" border="2" 
  /></p>";
    echo "<p align="center"><a href="javascript:self.close();">Zavri 
  okno</a></p>";
  }
}

?>
Alternatívne verzie: Text PDF Voice
Autor: PaBi3 · Kategória: Programovanie · Dátum: 30.04.2005 22:00

Komentáre

#1 JanVar
00.00.0000 00:00
ovsem pozor, pokud ma uzivatel pop-up zakazane... pak mate smul [amazed].

#2 pa3k
00.00.0000 00:00
IMHO, chce to trocha iný pohľad na vec.V tomto prípade: cesta k obrázku bude v definované najprv html tagom <a href="obrazok.png" alt="klikni pre zvacsenie">link</a>. JavaScriptom bude pomocou zápisu onclick="noveOkno()" kde obsluhu otvorenia nového pop-up okna vyrieši telo funkcie noveOkno(); obsah okna vytvorí php skript. To zaručí aby odkaz fungoval všade a nadstavbu JavaScriptu doprajem len tomu kto ho má zapnutý.Parametre funkcie noveOkno(x,y) môžu byť napr. rozmery obrázku, tak aby velkosti nového okna bola obrázku "namieru".Parametre pošlem JavaScriptu funkciami php, pretože JavaScript tieto údaje dokáže zistiť až po načítaní celého obrázku - to je už ale neskoro. Jeden malý príklad, ako to fachá aj bez JS:http://www.svadba.wz.cz/index.php?gal=Book

#3 admin Web E-mail
00.00.0000 00:00
admin Cieľom článku bolo skôr ukázať spoluprácu javascriptu a PHP. Spôsobov ako vytvoriť popup okno je veľmi veľa. Je to iba na postupe autora.

#4 jim
08.03.2008 15:47
[2] pa3k,No ak mi posles zdrojak ako sa to da spravit bez JS budem ti velmi vdacny:)

Osobné údaje
Captcha
Odpíšte text z obrázku. Rozlišujú sa malé a veľké písmená.
Obsah
Možnosti