Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/05/2005, 18:27
Avatar de stone_neo
stone_neo
 
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 22 años, 5 meses
Puntos: 15
Script GNU

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
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)