Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Kuvagalleria

puukko [01.08.2005 08:58:44]

#

Simppeli kuvagalleria skripti, jonka väsäsin kaverin tarpeisiin.
Toiminnassa http://snailbox.ath.cx:4880/juki/inc/photos.php

index.php

<?php
/*
Sikälimikäli jos haluat includettaa gallerian sivulle niin homma hoituu tällä tiedostolla. KATSO ASETUKSET!
*/

// ASETUKSET
$kansiot="kuvat/"; // kansio mistä kuvat haetaan
$etu="3d"; //Jos kansiota ei ole määritelty, mikä kansio näytetään.
$main='etu.php'; //Pääsivu. Vain jos $included=1
$muut='?p=glr'; //Osoitemuuttuja. Vain jos $included=1
$pidempi_sivu=150; //Kuvan pidemmän sivun pienennetty koko
$vaaka=5;					// vaakarivit
$included=0; //Jos includetettu 1 muuten 0
$otsikko="Galleria"; //Sivun otsikko

/**********************************************************************************/
/**********************************************************************************/
$perus=1;

if ($included == 0) echo "<html>\n<head>\n\t<title>$otsikko</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">\n</head>\n<body>\n";
echo "<table>\n\t<tr>\n\t\t<td>";

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

   /* This is the correct way to loop over the directory. */
   while (false !== ($file = readdir($handle))) {
   	if ($file != "." && $file != "..") {
   		if ($included != 0) echo "<a href=\"$main$muut&inc=$file\">$file</a><br>";
   		else echo "<a href=\"?inc=$file\">$file</a><br>";
   	}
   }
   closedir($handle);
}
echo "</td>\n\t</tr>";
if (isset($_GET['inc'])) {
	echo "\n\t<tr>\n\t\t<td>\n\t\t\t";
	include "kuvat.php";
	echo "\n\t\t</td>\n\t</tr>";
}
echo "\n</table>\n";
?>

kuvat.php

<?php

if (isset($_GET['inc'])) $d=$kansiot . $_GET['inc'];
else $d=$kansiot . $etu;


//Lukee kansion tiedostot taulukkoon
$i=0;
$kahva=array();
if ($kahvu = opendir($d)) {
   while (false !== ($tied = readdir($kahvu))) {
   	if (!is_dir($tied)) {
   		$kahva[$i]=$tied;
   		$i++;
   	}
   }
   closedir($kahvu);
}

//$kahva=scandir($d);
$kansio=$d . "/";
$x=0;
$kuvat=array();

//Menee kaikki tiedostot läpi ja lisää kuvat taulukkoon
	foreach ($kahva as $file) {
		if (!is_dir($file)) {
			$kuvat[$x]=getimagesize($kansio . $file);
			if (isset($kuvat[$x][0])) $kuvat[$x]['name']=$file;
			$x++;
		}
	}

echo "<table>\n\t\t\t\t<tr>";

// näyttää kuvat
		$knro=$perus;
		foreach ($kuvat as $kuva) {
		$leveys=$kuva['0'];
		$korkeus=$kuva['1'];
		$nimi=$kuva['name'];

//laskeskeskelee suhteita
		if ($leveys != 0) $suhde=$leveys/$korkeus;
		else $suhde=1;
		$suhde=round($suhde, 2);
		$us=$pidempi_sivu/$suhde;
		$us=round($us);

//Asettaa kuvat taulukkoon
//$us = muutettu koko
//$pidempi_sivu = määrätty koko

		if ($leveys > $korkeus)echo "\n\t\t\t\t\t<td class=\"kuva\" valign=\"bottom\" align=\"center\"><a target=\"_blank\" href=\"$kansio$nimi\"><img src=\"$kansio$nimi\" width=\"$pidempi_sivu\" height=\"$us\"><center><pieni>$nimi</pieni></center></a></td>";
		if ($leveys < $korkeus)echo "\n\t\t\t\t\t<td class=\"kuva\" valign=\"bottom\" align=\"center\"><a target=\"_blank\" href=\"$kansio$nimi\"><img src=\"$kansio$nimi\" width=\"$us\" height=\"$pidempi_s
ivu\"><center><pieni>$nimi</pieni></center></a></td>";
		if ($knro == $vaaka) {
			echo "\n\t\t\t\t</tr>\n\t\t\t\t<tr>";
			$knro=$perus;
		} else $knro++;
	}
echo "\n\t\t\t\t</tr>\n\t\t\t</table>";

?>

tsuriga [01.08.2005 13:31:41]

#

$perus=1; ?
Sisennykset on mitä on ja kommentointikin vähän puutteellista, galleria kai toimii kuten on tarkoituskin. Luulisi ainakin nyt jo löytyvän jokaisen makuun sopiva galleria Intarwebsin perukoilta.

puukko [01.08.2005 14:05:25]

#

Toivottavasti :)

Olga [01.08.2005 19:04:11]

#

Gallerian arvo tasan nolla ilman oikeita peukalonkynsiä. Weppiyhteys on luokkaa meganopea ja gallerian lataamisessa kestää iäisyys. Lisäksi näitä mahtuu 12 tusinaan eikä tämä esittele mitään mullistavaa aikaisempiin nähden. Eli takaisin sorvin ääreen, mars! Ja mars! :)

pwc [07.08.2005 20:27:07]

#

Tiedätkö mikä on thumbnailien idea?

puukko [14.08.2005 17:11:09]

#

kysyt keneltä?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta