Нужен скрипт галереи как на www.matrimonio.ru

Статус
В этой теме нельзя размещать новые ответы.

Dianis

Писатель
Регистрация
2 Апр 2007
Сообщения
3
Реакции
0
Доброе время суток всем!

Ищу простой скрипт галереи, все галереи которые я находил поиском не подходят.

Нужна галерея такая же как Для просмотра ссылки Войди или Зарегистрируйся
Маленькие фотки предпросмотра распологаются в 2 ряда, при этом большое изображение показывается 1 фотки из первого ряда уже отображается на странице, далее при нажатии на маленькие фотки происходит их увеличение.
Короче говоря вот точный Для просмотра ссылки Войди или Зарегистрируйся

Т.е. довольно простая и без лишних функций галерея, но все таки со своими заморочками :)

Искал в интернете и нашел очень много простых галерей, но вот что бы с заморочками которые описал выше, нет.
Вот найденный мной пока самый лучший вариант, требующий минимум доработки Для просмотра ссылки Войди или Зарегистрируйся

Вот его php код

PHP:
<?
//-------------------------------------------------------------------------------------
//    W-Nailer 0.14 - Willem Nailer
//    ************************
//    Removal of this text voids warranty... :)
//
//    Please leave this text in place, since it is only as much as credit for
//    the creator of this script; /me: Willem.
//
//    This script is still in the testing fase. For any errors, comments,
//    suggestions you can contact me at the e-mail address below.
//
//    (c)2001 by J.W.Veldhuizen <willem@vddh.com>, http://www.vddh.com
//-------------------------------------------------------------------------------------

$parent = "nailer.php"; // name of this file
$per_row = 3; // pictures per row to be displayed
$quality = 100; // 100 best quality, 0 worst
$max_size = 80; // thumbnail maximum size in pixels
$pikkies = 9; // pictures to be shown per page

// what file type do we proces? supported: jpg, png, gif
$ft = "jpg";

// picture dir; contains source files
$pdir = "example";

// thumbs dir; destination dir assumed to be within the picture dir
$tdir = "thumbs";

// display properties; 0 is off, 1 is on
$show_time = 0; // show file time&date
$show_props = 0; // show file size and resolution

// rename the files?
$rename = "yes";
$file_prefix = "nailer_"; // add prefix to renamed files
$version = "0.14";
$new_gd = 0; // 1 for GD 2.0+, 0 for all lower GD libraries
//-----------------------------------------------------------------------------
?>
<html>
<head>
<style>
A{
text-decoration:none;
font-family: Arial;
font-size: 11px;
color: #FF9900
}
A:hover{
text-decoration:underline;
font-family: Arial;
font-size: 11px;
color: green
}
TD {
font-family: Arial;
font-size: 11px
}
</style>
</head>

<body bgcolor=white>

<?
// check server support---------------------------------------------
$err1 = '<center><font face=arial size=2><font color=red>';
$err2 = ' </font> Filetype not supported by server. Aborting script.<br><br><a href="http://www.vddh.com/?page=scripts">Created by W-Nailer '.$version.'</a></font></center></body></html>';

if ( $ft == "jpg" && !(ImageTypes() & IMG_JPG) ) {
	echo $err1.'JPEG'.$err2;
	exit;
}
elseif ( $ft == "gif" && !(ImageTypes() & IMG_GIF) ) {
	echo $err1.'GIF'.$err2;
	exit;
}
elseif ( $ft == "png" && !(ImageTypes() & IMG_PNG) ) {
	echo $err1.'PNG'.$err2;
	exit;
}
// ---------------------------------------------------------------------

echo "<table border=1 align=center bordercolor=gray>\n";

$data = $pdir."/nailer.txt";

// get current dir listing -----------------------
$reader = dir($pdir);
while ($test = $reader->read()){
	$extensie = substr($test, -5,5);
	if (!preg_match("/.$ft/", $extensie)) {
		continue;
	}
	$names[] = $test;
} // end while
$reader->close();
$ai = count($names);
//-----------------------------------------------

if ($ai == 0) {
	echo "<tr><td align=center>&nbsp;No <font color=red><b>$ft</b></font> files found in:&nbsp;<br>/$pdir</td></tr>".$footer;
	exit;
}

natcasesort($names);
reset($names);

if (!file_exists($data)) {
	$fp = fopen($data,"a");

	if ($rename == "yes") {
		for ($h = 0; $h < count($names) ; $h++) {
			$new_name = $file_prefix.$h.".".$ft;
			rename($pdir."/".$names[$h], $pdir."/".$new_name);
			$fp = fwrite($fp, $new_name."\n");
		}
	}
	else {
		for ($h = 0; $h < count($names) ; $h++) {
			$fp = fwrite($fp, $names[$h]."\n");
		}
	}

} // end if

else {
	$fp = fopen($data,"r");

	while ($content = fscanf ($fp, "%s\n")) {
		if (strlen(trim($content[0])) < 5) {
			continue;
		}
		$files[] = trim($content[0]);
	} // end while
	natcasesort($files);
	reset($files);
	fclose($fp);

	$nr_names = count($names);
	$nr_files = count($files);

	if ( $nr_names > $nr_files) { //assuming only files will be added

	$diff =array_diff($names, $files); // returns the difference
	$keys = array_keys($diff); // returns the keys in the new array as array
	$yep = 0; //because we have to start somewhere... :-)

		if ($rename == "yes") {
			for ($j = $nr_files; $j < ($nr_files + count($diff)) ; $j++) {
				$new_name = $file_prefix.$j.".".$ft;

				$pointer = $keys[$yep];
				$yep++;

				if (!in_array($names[$pointer], $files)) {
					if (file_exists($pdir."/".$new_name)) {
						echo $new_name." Something went wrong here! Please mail willem@vddh.com if you're unsure what went wrong!";
						break;
					}
					rename($pdir."/".$names[$pointer], $pdir."/".$new_name);
					$fp = fopen($data,"a");
					$fp = fwrite($fp, $new_name."\n");
				}
			} // end for

		}
		else {
			for ($j = 0; $j < count($names) ; $j++) {
				if (!in_array($names[$j], $files)) {
					$fp = fopen($data,"a");
					$fp = fwrite($fp, $names[$j]."\n");
				}
			} // end for
		}

	}

} // end else
//-----------------------------------------------


// get new file listing -----------
unset($names);
$fi = fopen($data,"r");
while ($cont = fscanf ($fi, "%s\n")) {
	$names[] = $cont[0];
}
fclose($fi);

natcasesort($names);
reset($names);
$rows = ceil($i/$per_row);
$i = count($names);

// determine colspan
if ($show_props != 0 || $show_time != 0) {
	$cols = $per_row*2;
}
else {
	$cols = $per_row;
}

if (!$id) {
	echo "<tr>\n <td colspan=".$cols." align=center><b><font color=green>$i</font></b> pictures</td>\n</tr>\n";
}

if (!$id) {

$aantal = 0;

	if (!$page || $page == 1) {
		$pag = 0;
		$page = 1;
	}
	else {
		$pag = ($page - 1) * $pikkies;
	}

	for ($k = $pag; $k < count($names); $k++ ){

		if ($k > ($page*$pikkies - 1)) {
			break;
		}

		$file = $pdir."/".$names[$k];
		$thumb = $pdir."/".$tdir."/".$names[$k];

		if ($show_time == 1) {
			$filetime = date( 'H:i:s d/m/y', filemtime($file));
		}
		else {
			$filetime = '';
		}

		if ($show_props == 1) {
			$size = getimagesize($file);
			$kb = round((filesize($file)/1024), 1);
			$size = '<br><font size="1" color="gray">'.$size[0].'x'.$size[1].'<br>('.$kb.' Kb)</font>';
		}
		else {
			$size = '';
			$kb = '';
		}

		if ($show_props != 0 || $show_time != 0) {
			$cell = '<td align=center width=50>'.$filetime.$size.'</td>';
		}

		if (!file_exists($thumb)) {
			create_tn($names[$k]);
		}

		if ($teller == 0 || is_int($teller/$per_row) ) {
			echo "\n<tr height=".($max_size + 2).">\n";
		}

		echo ' <td align=center width='.($max_size + 2).'><a href="'.$parent.'?id='.base64_encode($names[$k]).'&page='.$page.'"><img src="'.$pdir.'/'.$tdir.'/'.$names[$k].'" border=1 alt="" style="border-color: black"></a></td>'.$cell;
		echo "\n";

		$teller++;

		if (is_int($teller/$per_row) ) {
			echo "</tr>\n";
		}
		elseif ($i == $k) {
			$colspan = ($per_row*$rows - $i)*2;
			echo "<td colspan=".$colspan.">&nbsp;</td></tr>!!\n";
		}

	}

	// navigational area -------------------------------------------------
	$paginas = ceil(count($names)/$pikkies);

	if (!$page || $page == 1) {
		echo "\n<tr>\n <td colspan=".$cols." align=center><font color=gray><b>&lt;&lt;</b></font> &nbsp;";
	}
	else {
		echo "\n<tr>\n <td colspan=".$cols." align=center><a href=\"".$parent."?page=".($page - 1)."\" title=\"Previous Page\"><b>&lt;&lt;</b></a> &nbsp;";
	}

	for ($g = 0;$g < $paginas;$g++) {
		$count = $g +1;
		if ($page == $count) {
			echo '<a href="'.$parent.'?page='.$count.'"><font color=green><b>'.$count.'</b></font></a>&nbsp;';
		}
		else {
			echo '<a href="'.$parent.'?page='.$count.'">'.$count.'</a>&nbsp;';
		}
	}

	if ($page > ($paginas - 1)) {
		echo " <font color=gray><b>&gt;&gt;</b></font></td>\n</tr>\n";
	}
	else {
		echo " <a href=\"".$parent."?page=".($page + 1)."\" title=\"Next Page\"><b>&gt;&gt;</b></a></td>\n</tr>\n";
	}
	//----------------------------------------------------------------------

} // end if

else{
	$id = base64_decode($id);
	if ($show_time == 1) {
		$filetime = "<br>".(date( 'H:i:s d/m/y', filemtime($pdir."/".$id)));
	}
	else {
		$filetime = '';
	}
	echo '<tr><td align=center><a href="'.$parent.'?page='.$page.'" style="text-decoration: none"><b>&lt;&lt; Back</b> <br><img src="'.$pdir.'/'.$id.'" border=1 alt="Back 2 Overview" style="border-color: black"></a>'.$filetime.'</td></tr>';
} // end else


function create_tn($plaat) {
global $pdir, $tdir, $quality, $max_size, $ft, $new_gd;

	$image = $pdir."/".$plaat;
	$size = GetImageSize ($image);
	$ratio = $size[0]/$size[1];
	if ($ratio > 1) {
		$width = $max_size;
		$height = ($max_size/$size[0]) * $size[1];
	}
	else {
		$width = ($max_size/$size[1]) * $size[0];
		$height = $max_size;
	}
	if ($new_gd == 1) {
		$thumb = ImageCreateTrueColor($width, $height);
	}
	else {
		$thumb = ImageCreate($width, $height);
	}
	if ($ft == "jpg") { $source = ImageCreateFromJPEG($image); }
	if ($ft == "gif") { $source = ImageCreateFromGIF($image); }
	if ($ft == "png") { $source = ImageCreateFromPNG($image); }
	if ($new_gd == 1) {
		ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $width, $height, ImageSX($source), ImageSY($source));
	}
	else {
		ImageCopyResized($thumb, $source, 0, 0, 0, 0, $width, $height, ImageSX($source), ImageSY($source));
	}
	if ($ft == "jpg") { ImageJPEG($thumb, "$pdir/$tdir/$plaat", $quality); }
	if ($ft == "gif") { ImageGIF($thumb, "$pdir/$tdir/$plaat", $quality); }
	if ($ft == "png") { ImagePNG($thumb, "$pdir/$tdir/$plaat", $quality); }
	ImageDestroy($thumb);
}



$footer = '</table>

<center><a href="http://www.vddh.com/?page=scripts">Created by W-Nailer '.$version.' </a></center>
</body>
</html>';
echo $footer;
?>

Помогите сделать друзья! Очень буду благодарен!!!!!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху