Mira Aaronmx aqui te mando un script que baje de
www.phpbuilder.com es para armar una galeria de fotos.Yo estoy haciendo mi propio script basandome en este script y en otros que he encontrado, pronto lo subire con su respectiva ayuda en español. Pero por el momento te dejo con este, si tienes alguna duda , solo escribeme.
Ahi te va el codigo :
Código PHP:
<?
// AUTHOR:
// Jo Demol ([email protected])
//---Variables---
$scale = 0;
$maxwidth = 640;
$maxheight = 480;
$thumbmaxw = 50;
$thumbmaxh = 50;
$imgperpage = 10;
$imgperrow = 5;
$pgperrow = 10;
$currentdir = getcwd ();
$typelist = array("jpg","jpeg","gif","png","JPG");
$imagelist = array();
$title = "Pics";
$stylesheet = '' ;
$home = "{$_SERVER['PHP_SELF']}";
$this_page = "{$_SERVER['PHP_SELF']}";
$caption = "";
$captionext = "txt";
//--- ind is put to zero when the script is first called uppon---
if(!isset($_GET['ind']))
$_GET['ind'] = 0;
$index = $_GET['ind'];
//---the following code iterates through the directory and puts any image found in the imagelist array---
$dp=opendir($currentdir);
while ( false != ( $file=readdir($dp) ) ) {
if (is_file($file) && $file!="." && $file!=".."){
$extention = explode(".",$file);
$extfield = count($extention)-1;
$extention = $extention[$extfield];
if( in_array($extention,$typelist) ){
array_push ($imagelist,$file);
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title><?= $title ?></title>
<?
if ($stylesheet == ''){
//--insert the default style sheet into html if none specified
echo '<style type="text/css">'
.'.imag { border-style : solid;'
.'border-color: blue;'
.'border-width : 1px;}'
.'.thumb { border-style : solid;'
.'border-color: #999999;'
.'border-width : 2px;}'
.'A:link { color: #999999;'
.'text-decoration : none; }'
.'A:visited { color: #999999;'
.'text-decoration : none; }'
.'A:hover { color:blue; }'
.'</style>';
} elseif ($stylesheet == 'none') {
//--no style sheet if that is what you want
} else {
echo "<link rel=\"STYLESHEET\" href=\"$stylesheet\" />";
}
?>
</head>
<body>
<table align="center" border="0">
<tr>
<td>
<? if($index-1 >= 0) {?>
<a href='<?= $this_page ?>?ind=<?= $index-1 ?>'>[ prev ]</a>
<? } ?>
</td>
<td>
<?
//--- This is where the large pictures are resized so that they maintain ratio---
$sizeee = getimagesize ("$imagelist[$index]");
$imgwidth = $sizeee[0];
$imgheight = $sizeee[1];
if ($scale == 1 || $imgwidth > $maxwidth || $imgheight > $maxheight) { // decide if img needs to be scaled
$newwidth = $imgwidth/($imgheight/$maxheight);
$newheight = $imgheight/($imgwidth/$maxwidth);
if ($imgwidth < $imgheight) {
if ($newwidth > $maxwidth)
{
?>
<a href="<?= $imagelist[$index] ?>" target="_blank">
<img src="<?= $imagelist[$index] ?>" width="<?= $maxwidth ?>" height="<?= $newheight ?>" alt="" />
</a>
<?
} else {
?>
<a href="<?= $imagelist[$index] ?>" target="_blank">
<img src="<?= $imagelist[$index] ?>" width="<?= $newwidth ?>" height="<?= $maxheight ?>" alt="" />
</a>
<?
}
} else {
if ($newhight > $maxheight)
{
?>
<a href="<?= $imagelist[$index] ?>" target="_blank">
<img src="<?= $imagelist[$index] ?>" width="<?= $newwidth ?>" height="<?= $maxheight ?>" alt="" />
</a>
<?
} else {
?>
<a href="<?= $imagelist[$index] ?>" target="_blank">
<img src="<?= $imagelist[$index] ?>" width="<?= $maxwidth ?>" height="<?= $newheight ?>" alt="" />
</a>
<?
}
}
} else { ?>
<a href="<?= $imagelist[$index] ?>" target="_blank">
<img src="<?= $imagelist[$index] ?>" width="<?= $imgwidth ?>" height="<?= $imgheight ?>" alt="" />
</a>
<? }
?>
</td>
<td>
<? if($index+1 < count($imagelist) ) {?>
<a href="<?= $this_page ?>?ind=<?= $index+1 ?>">[ next ]</a>
<? } ?>
</td>
</tr>
<tr>
<td>
</td>
<td>
<center><?
if (file_exists ($imagelist[$index]. "." . $captionext) &&
is_file ($imagelist[$index]. "." . $captionext) &&
!is_dir ($imagelist[$index]. "." . $captionext))
include $imagelist[$index]. "." . $captionext;
else
echo $caption; ?>
</center>
</td>
<td>
</td>
</tr>
</table>
<table align="center">
<tr><td></td>
<?
//---this code generates the thumbnails based on the configuration settings---
$nrpages = ceil( count($imagelist)/$imgperpage );
for($j=0;$j<$nrpages;$j++)
{
if( $index >= ($j*$imgperpage) && ($index < (($j+1) * $imgperpage)) ) {
for($i=($j*$imgperpage);$i<(($j+1) * $imgperpage);$i++) {
if(($i%$imgperrow == 0) && ($i > 0)) { ?>
</tr>
<tr>
<? }
if($i <count($imagelist) ) {
$path = "$this_page?ind=".$i; ?>
<td>
<?
//--- This is where the thumbnails are resized so that they maintain ratio---
$sizeee = getimagesize ("$imagelist[$i]");
$imgwidth = $sizeee[0];
$imgheight = $sizeee[1];
$newthumbw = $imgwidth/($imgheight/$thumbmaxh);
$newthumbh = $imgheight/($imgwidth/$thumbmaxw);
if ($imgwidth < $imgheight) {
if ($newthumbw > $thumbmaxw)
{
?>
<a href="<?= $path ?>">
<img src="<?= $imagelist[$i] ?>" width="<?= $thumbmaxw ?>" height="<?= $newthumbh ?>" alt="" />
</a>
<?
} else {
?>
<a href="<?= $path ?>">
<img src="<?= $imagelist[$i] ?>" width="<?= $newthumbw ?>" height="<?= $thumbmaxh ?>" alt="" />
</a>
<?
}
} else {
if ($newthumbh > $thumbmaxh)
{
?>
<a href="<?= $path ?>">
<img src="<?= $imagelist[$i] ?>" width="<?= $newthumbw ?>" height="<?= $thumbmaxh ?>" />
</a>
<?
} else {
?>
<a href="<?= $path ?>">
<img src="<?= $imagelist[$i] ?>" width="<?= $thumbmaxw ?>" height="<?= $newthumbh ?>" alt="" />
</a>
<?
}
}
?>
</td>
<? }
}
}
}
?>
</tr>
</table>
<br />
<center>
<?
//---this code generates links based on the configuration settings---
//---only puts $pgperrow page links per row to make cleaner---
for($j=0;$j<$nrpages;$j++) {
if(($j%$pgperrow == 0) && ($j > 0)) { ?>
<br />
<? } ?>
<a href="<?= $this_page ?>?ind=<?= ($j*$imgperpage) ?>">[page <?= ($j+1) ?>]</a>
<? } ?>
</center>
<center><a href="<?= $home ?>">[ home ]</a></center>
</body>
</html>
Espero que te sirva hasta pronto. Muy pronto
Stone Gallery PHP