easy image gallery 0.1

empty 16.03.03 20:21

lukee kaikki kansiossa olevat kuvatiedostot ja tekee niistä kuva gallerian päivämäärineen.

 Tekstiversio  Arvo: 1 (13 ääntä)  Äänestä: +  -
Elikkä koodi listaa kuvat pieniksi kuvakkeiksi sivulle joita klikkailemalla avautuu uuteen ikkunaan oikean kokoinen kuva.
Oletuksena kuvat luetaan siitä kansiosta, jossa tämä lähdekoodi on. kuvien alle tulostuu kuvien luonti päivämäärä
(jotkut selaimet eivät suostu näyttämään kunnolla). koodi on aika hirveää luettavaa mutta se ei ole vielä valmis vaikkakin pitäisi toimia.

Edit 01.01.05:

Aika hirveää luettavaa näin jälkeenpäin. No annetaan tämä kuitenkin täällä olla :)

<html>
<head>

<!-- easy image gallery 0.1 Author: Jussi Valt Virtanen  -->

  <script language="JavaScript">

    <!--
      function uusi_ikkuna(w, h) {
        window.open("", "iso_kuva", 'scrollbars=no,width='+w+',height='+h+'');
      }
    //-->

  </script>

</head>

<body bgcolor="#000000">

<font color="#ffffff">



<?php     


/* #################################################### */

/* muuta näitä */

$polku = getcwd();                       // polku (ei kauttaviivaa perään)
$sarakkeet = 4;                          // kuvat per rivi
$img_width = 150;                        // thumbnailin leveys
$img_height = 100;                       // thumbnailin korkeus

/* #################################################### */

$sarakkeet -= 1;

function listaa() {

  global $polku;

  if ($handle = opendir($polku)) {

    /* listataan tiedostot */

    while (false !== ($file = readdir($handle))) {

      $files[] = $file;

    }

    closedir($handle);

  }

  return $files;

}

$files = listaa();

print "<center><table border=0>";

for ($i = 2; $i <= count($files); $i++) {

  print "<tr>";

  for ($i2 = $i; (($i2 - $i) <= $sarakkeet) && file_exists($files[$i2]); $i2++) {

    $s = $files[$i2];
    $mtime = filemtime($files[$i2]);
    $stamp = date("d.m.Y @ H:i:s", $mtime);

    /* jos kuva on jpg jpeg bmp tai gif kuva näytetään */

    if   (substr($s, strlen($files[$i2]) - 3, 3) == "jpg" ||
          substr($s, strlen($files[$i2]) - 4, 4) == "jpeg" ||
          substr($s, strlen($files[$i2]) - 3, 3) == "bmp" ||
          substr($s, strlen($files[$i2]) - 3, 3) == "gif") {

      $img_size = getimagesize($s);

      print "<td>
               <a href=\""
.$s."\" border=0               
                alt=\""
.$stamp."\"
                target=\"iso_kuva\"
                onClick=\"uusi_ikkuna($img_size[0] + 26,$img_size[1] + 26);\">

                 <img src='"
.$s."' width=".$img_width." height=".$img_height." border=0>
 
               </a>
               <br>

               <font style=\"font-size: 60%\" color=\"#ffffff\">"
.$stamp."</font>

             </td>"
;

      }

      else $i += 1;

      $u = 1;
  }

  print "</tr>";

  if ($u == 1) {

    $i = $i2 - 1;
    $u = 0;

  }

}

print "</table></center>";

?>

</body>
</html>

empty 00:53 18.3.03 
kommenttia.. bugeja?
Comrad 19:29 18.3.03 
Warning: Unable to access in (polku)/index.php on line 70

joka on:

for ($i2 = $i; (($i2 - $i) <= $sarakkeet) && file_exists($files[$i2]); $i2++) {
Eero 10:48 19.3.03 
Tämä olisi käyttökekpoinen koodi mutta en saanut sitä toimimaan. Kun suoritin koodin se veti koko koneen jumiin. Missähän mahtaa olla vika?? Oon ihan aloittelija koodauksessa. Kansiossa oli vain yksi testikuva...
empty 15:56 19.3.03 
Jaa-a meikäläisellä tää toimii hyvin.. testattu on omalla koneella, lycosin palvelimella ja mbnetissä kolmella eri koneella jossa on ollut eri käyttöjärjestelmät ja eri selaimet. operassakin pitäs toimia.

Comrad: kokeiles vaihtaa file_exists tilalle is_file..

Eero: Oliko kansiossa muutakuin lähdekooditiedosto ja kuva? Oliko kuva gif, bmp vai jpg/jpeg? Ajatko koodin omalla serverillä?
neon 20:23 19.3.03 
Pitää sanoa että olisi hiukkasen parantamisen/kehittämisen varaa. Oletko ajatellut skenaariota jossa kuvan koko on vaikkapa 5Mb scripti näyttää kuvan pienenä mutta selain silti lataa koko 5Mb. Jotenka kannattaa tehdä scripta joka tekee kuvista thumbsit, joko aina on-loadissa tai kerran n:ssä tunnissa.
Eero 09:53 21.3.03 
Kansiossa ei ollut muuta kuin kaksi jpg-kuvaa ja koodi. Ajan sen omalla serverillä. (Win2000 server, johon on ajettu php- ja cgi-tuet). Voisiko olla mahdollista, että en ole asentanut kaikkia osia php:stä? Yksinkertaisemmat php-koodit toimivat ihan hyvin.
SoFFeli 16:24 21.3.03 
Toimii ihan jees linuxilla. Noh ainakin toimii ^^
demoa ->
http://www.sotaorava.net/soffeli/kuvat/
Groover 15:56 22.3.03 
Palvelimen päässä tuli herja: Warning: file_exists() [function.file-exists]: SAFE MODE Restriction in effect. The script whose uid is 2443 is not allowed to access /www owned by uid 0 in /www/int2000/a/8001/html/TT_uusi/pictures/pictures.php on line 74
Poistin file_exists ja nyt toimii ilman virhe ilmoitusta. Näköjään ei pysty ajmaan tota file_exists komentoa mun palvelimella :-(
GoatLord 17:03 22.3.03 
Ihan toimivalta vaikuttaa. Testasin operalla omalla linuxpalvelimella. Kaipaisi ehkä kuvatekstejä jne pikkusäätöä.
weera 11:22 3.4.03 
rivi 71 pomppii silmille ... muuten tosi hyvä
Solver 23:38 1.5.03 
Toi gallerian idea kärsii aikas pahasti siitä, että kaikki kuvat täytyy ladata, jolloin ladattavaa kertyy helposti useita megatavuja. Jos ensimmäisellä ajokerralla thubnailssit generoitaisiin määrättyyn hakemistoon tulisi koodista paljon käyttökelpoisempi.

Itse pidän tärkeänä, että webbisivut ovat validia koodia. Tämä koodi ei tuota validia htmlää.

Tiedosto päätteisiin olisi syytä lisätä .jpg:n lisäksi .JPG, koska monesti esimerkisi digikamerasta puretut kuvat on isoin kirjaimin

Onko eerolla liikaa rahaa? Luulisi tuon W2k server lisenssin olevan aika suolaisen hintainen omaan palvelimeen sijoitettavaksi..
Miggolo 01:33 10.7.03 
Miten rivi 33 pitää laittaa??? kokeilin tapaa $polku = getcwd(/taustikset); mutta ei toiminu... kokeilin monella muullaki tavalla mutta jakso herata tota eikä siis ruvennu pelaa!?!?! mikä avuks?
koivumutkan herra 15:56 14.9.03 
Saan riviltä 33($polku = getcwd();) seuraavan virheilmoituksen:
Fatal error: Call to unsupported or undefined function getcwd()

Mikä mättää??
koom4 10:40 18.12.03 
semmonen pikku bugi että jos esimerkiksi kuva on 1280x1024 resolla laitettu tonne ja joku raukka aukasee sen 800x600 ni koko ikkuna räjähtää nii suureks että menee puolituntia löytää ikkuna reunat ;)
vivid 23:04 1.2.05 
Aika käyttökelvoton skripti. Eihän tuo edes tee oikeasti thumbnailia, eikä säilytä kuvasuhdetta eikä mitään.
Katselkaapa infoa imagejpeg() ja imagecopyresampled() funktioista niin hetkessä teette loiston thumbnailerin.
Ethisc 07:54 13.2.05 
nojoo onhan toi aika hyvä vaikken saanu tota toimimaa... :P Katoku oon alottelia täs koodauksessa...
hobzu 22:39 6.8.05 
Toimii loistavasti, kun yhdistää esim. johonkin kuhan thumbnaileriin. + rapashti.
rusinax 17:39 19.11.05 
Toimii Hyvin, KIITOS tekijälle!! On hyötyä!!
http://koti.mbnet.fi/sllz/gallery/gallery.php
Tontttu 15:10 18.1.06 
$polku = getcwd();                       // polku (ei kauttaviivaa perään)
$sarakkeet = 4;                          // kuvat per rivi
$img_width = 150;                        // thumbnailin leveys
$img_height = 100;                       // thumbnailin korkeus


Miten tuossa kuuluu kirjottaa se polku? mikään yritys ei oo toiminu...

ja hei pliis.. pieniä pätkimisiä noihi riveihin, venyy sivu :(
shipper 23:04 25.4.07 
Kun hakee kansioita kansiosta, niin miten saa poistettua oletuskansion (nimellä ".") ja ylähakemiston kansion ("..")?
Kansiot latautuvat tyyliin:
".","..", "Autot", "Maisemat".