tabel tilretning max 8 billeder hvordan
Hej jeg har et stort problemjeg har en php side der generer et gallery ud fra de billeder der ligger i en folder men der ligger ca 300 og det er lige lidt for mange til at explorer kan klarer det
se på www.blueeye.dk/gallery
det ville være rat at den lavede 4x2 gallery der efter lavede en next knap der efter kommer der 8 nye billeder.
- kode -
i template.php:
<html>
<body>
<?if (IsSet($out['UP'])) {?>
<p align=center>
<a href="?dir=<?=$out['UP']?>"><<< Up</a><br>
</p>
<?}?>
<?
if (is_Array($directories)) {
?>
<table border=0 width=90% align=center>
<?
foreach ($directories as $v) {?>
<tr>
<td align=center><font face="arial">
<big><b><a href="?dir=<?=$v['URL'];?>"><?if ($v['DESCRIPTION']!='') echo $v['DESCRIPTION']; else echo $v['FILENAME'];?></a>
</td>
</tr>
<?}?>
</table>
<?}?>
<?
if (Is_Array($files)) {
?>
<table border=0 align=center cellpadding=20>
<tr>
<?foreach ($files as $f) {?>
<td align=center valign=top>
<font face="arial">
<a href="<?=$f['DIR']?><?=$f['FILENAME']?>" target=_blank><img src="?img=<?=$f['DIR']?><?=$f['FILENAME']?>&w=<?=THUMBNAIL_WIDTH?>&h=<?=THUMBNAIL_HEIGHT?>" border=0 alt="<?echo $f['DESCRIPTION'];?>"></a>
<?if ($f['DESCRIPTION']!='') echo "<br>".$f['DESCRIPTION'];?>
</td>
<?if ($f['NEXT_ROW']) echo "</tr><tr>";?>
<?}?>
</tr>
</table>
<?
}
?>
</body>
</html>
- kode -
i index.php:
<?
// GALLERY SETTINGS
Define('DIR_CACHE', './tmp/'); // directory to store modified images (shoul have right to write files)
Define('THUMBNAIL_WIDTH', '100'); // thumbnails width
Define('THUMBNAIL_HEIGHT', '100'); // thumbnails height
Define('IMAGES_ROW', 4); // images on row
Define('IMAGES_COL', 3); // images on colonner
// ----------------------------------------------------------------------
$img=$_GET['img'];
if (!Is_Dir(DIR_CACHE)) {
mkdir(DIR_CACHE, 0777);
}
// IMAGE RESIZE AND SAVE TO FIT IN $new_width x $new_height
if ($img!='' && file_exists($img)) {
$w=$_GET['w'];
$h=$_GET['h'];
$thumb=strtolower(preg_replace('/\W/is', "_", "$img $w $h"));
$changed=0;
if (file_exists($img) && file_exists(DIR_CACHE.$thumb)) {
$mtime1=filemtime(DIR_CACHE.$thumb);
$mtime2=filemtime($img);
if ($mtime2>$mtime1) $changed=1;
} elseif (!file_exists(DIR_CACHE.$thumb)) {
$changed=1;
}
if ($changed) {
$filename=$img;
$new_width=(int)@$w;
$new_height=(int)@$h;
$lst=GetImageSize($filename);
$image_width=$lst[0];
$image_height=$lst[1];
$image_format=$lst[2];
if ($image_format==1) {
Header("Content-Type:image/gif");
readfile($filename);
exit;
} elseif ($image_format==2) {
$old_image=imagecreatefromjpeg($filename);
} elseif ($image_format==3) {
$old_image=imagecreatefrompng($filename);
} else {
exit;
}
if (($new_width!=0) && ($new_width<$image_width)) {
$image_height=(int)($image_height*($new_width/$image_width));
$image_width=$new_width;
// $image_height=$new_height;
}
if (($new_height!=0) && ($new_height<$image_height)) {
$image_width=(int)($image_width*($new_height/$image_height));
$image_height=$new_height;
// $image_width=$new_width;
}
// $new_image=imageCreate($image_width, $image_height); // for old GDlib
$new_image=imageCreateTrueColor($image_width, $image_height);
$white = ImageColorAllocate($new_image, 255, 255, 255);
ImageFill($new_image, 0, 0, $white);
// imagecopyresampled
// imageCopyResized (for old GDlib)
imageCopyResampled( $new_image, $old_image, 0, 0, 0, 0, $image_width, $image_height, imageSX($old_image), imageSY($old_image));
imageJpeg($new_image, DIR_CACHE.$thumb);
}
Header("Content-type:image/jpeg");
readfile(DIR_CACHE.$thumb);
exit;
}
// ----------------------------------------------------------------------
$init_dir="./";
if (IsSet($HTTP_GET_VARS['dir'])) {
$dir=$HTTP_GET_VARS['dir'];
$dir=preg_replace("/\.+/", ".", $dir);
}
if (IsSet($dir) && ($dir!=$init_dir)) {
$directory=$dir;
$tmp=array_reverse(explode('/', $dir));
array_shift($tmp);
array_shift($tmp);
$out['UP']=urlencode(implode('/', array_reverse($tmp))."/");
} else {
$directory=$init_dir;
}
$dir=opendir($directory);
$k=0;
$on_row=IMAGES_ROW;
if (file_exists($directory."files.txt")) {
$data=LoadFile($directory."files.txt");
$lines=explode("\n", $data);
for($i=0;$i<count($lines);$i++) {
$ar=explode(' ', trim($lines[$i]));
$tmp=array_shift($ar);
$descriptions[$tmp]=implode(' ', $ar);
}
}
while ($file=readdir($dir)) {
if (Is_Dir($directory."/$file") && ($file!='tmp') && ($file!='.') && ($file!='..')) {
$directories[]=array('FILENAME'=>$file, 'DIR'=>$directory, 'DESCRIPTION'=>$descriptions[$file], 'URL'=>urlencode($directory."$file/"));
}
if (!Is_file($directory."/$file")) continue;
$ext=strtolower(substr($file, -3));
if ($ext!='gif' && $ext!='jpg') continue;
$rec=array();
$rec["FILENAME"]=$file;
$size=(int)(filesize($directory."/".$file)/1024);
if ($size>1024) {
$rec["SIZE"]=(((int)($size*100/1024))/100)." Mb";
} else {
$rec["SIZE"]=$size." Kb";
}
if (IsSet($descriptions[$file])) {
$rec['DESCRIPTION']=$descriptions[$file];
}
$rec["DIR"]=$directory;
if (($k+1)%$on_row==0) {
$rec['NEXT_ROW']=1;
}
$k++;
$files[]=$rec;
}
include('./template.php');
// ----------------------------------------------------------------------
function LoadFile($filename) {
// loading file
$f=fopen("$filename", "r");
$data="";
if ($f) {
$data=fread($f, filesize($filename));
fclose($f);
}
return $data;
}
?>
