Фотогалерея

Тема в разделе "Open Source", создана пользователем TomCruse, 18 июн 2007.

Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. TomCruse

    TomCruse Писатель

    Регистр.:
    14 июн 2007
    Сообщения:
    9
    Симпатии:
    1
    Какой скрипт посоветуете?
     
  2. duncan

    duncan батяр з личакова

    Регистр.:
    10 апр 2007
    Сообщения:
    1.596
    Симпатии:
    441
    Код:
    <?php echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?".">"; ?>
    <?
    $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);
                }
            }
    }
    ?>
          <title><?= $title ?></title>
          <?
          if ($stylesheet == ''){
           } elseif ($stylesheet == 'none') {
          //--no style sheet if that is what you want
          } else {
          	echo "<link rel=\"STYLESHEET\" href=\"$stylesheet\" />";
          }
          ?>
    <table align="center">
      <tr>
        <td></td>
        <?
    $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> 
          <?
    		$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>
    <table align="center" border="0">
     <tr>
      <td>
    <?       if($index-1 >= 0) {?>
       <a href='<?= $this_page ?>?ind=<?= $index-1 ?>'>[ попередня ]</a>
    <?       } ?>
      </td>
      <td>
    	  <?
    		$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 ?>">[ наступна ]</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>
    <br />
    <center>
    <?
    for($j=0;$j<$nrpages;$j++) { 
       if(($j%$pgperrow == 0) && ($j > 0)) { ?>
        <br />
    <? } ?>
        <a href="<?= $this_page ?>?ind=<?= ($j*$imgperpage) ?>">[лист <?= ($j+1) ?>]</a>
    <? } ?>
    </center>
    <center><a href="<?= $home ?>">[ початкова сторінка ]</a></center>
     
  3. Eclipsik

    Eclipsik Постоялец

    Регистр.:
    26 окт 2006
    Сообщения:
    142
    Симпатии:
    41
  4. Weaver

    Weaver

    Регистр.:
    16 ноя 2006
    Сообщения:
    187
    Симпатии:
    81
  5. Pernat1y

    Pernat1y Писатель

    Регистр.:
    21 янв 2008
    Сообщения:
    5
    Симпатии:
    1
    вот неплохие

    sourceforge.net/projects/gallery
    sourceforge.net/projects/coppermine
    sourceforge.net/projects/spgm
     
  6. vlad_iv

    vlad_iv Создатель

    Регистр.:
    13 мар 2007
    Сообщения:
    17
    Симпатии:
    4
    Рекомендую coppermine-gallery.net
    Лучший из бесплатных, много бесплатных шаблонов.
    Легко настраивать, постоянно обновляется.
    Есть вся нужная функциональность.
    Пользуюсь больше 3-х лет, более лучшего (даже среди платных) не нашел!
     
  7. qqqwww

    qqqwww Постоялец

    Регистр.:
    5 ноя 2006
    Сообщения:
    52
    Симпатии:
    32
    она тежолая
    лучше всего _http://plogger.org/ вот демо _http://plogger.org/demo/ или 4images офф.сайт _http://www.4homepages.de а вот пример сайта _http://www.razruha.ru/
     
    McPrag нравится это.
  8. ortus

    ortus Постоялец

    Регистр.:
    30 окт 2007
    Сообщения:
    105
    Симпатии:
    2
    _http://gallery.menalto.com/ - полгода пользуюсь, просто и удобно
     
  9. tr3ff

    tr3ff Постоялец

    Регистр.:
    26 июн 2006
    Сообщения:
    119
    Симпатии:
    44
    Если изменять под себя, то ZenPhoto очень хороша...
    http://www.zenphoto.org/
     
  10. webcom

    webcom Прохожие

Статус темы:
Закрыта.