Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Galeria w php
Forum PHP.pl > Forum > Przedszkole
jgkrzycho
Witam mam taką galerię http://www.fiat126p.boo.pl/galeria/gallery.php , a ze względu że się nie bardzo znam na php to gotową ze strony pobrałem i sporo poprzerabiałem, ale nie mam pojęcia jak moge zrobić, aby była pogrubiona albo podkreślona strona galerii na której się znajdujemy. Z góry wielkie dzięki za pomoc.
Foxx
Jak mamy Ci pomóc skoro nie znamy kodu tej galerii?
peter13135
trudno bedzie ci powiedzieć skoro niemamy kodu
jgkrzycho
Kod
<?
$scale      = 0;
$maxwidth   = 600;
$maxheight  = 450;
$thumbmaxw  = 50;
$thumbmaxh  = 37;
$imgperpage = 12;
$imgperrow  = 12;
$pgperrow   = 10;
$currentdir = getcwd ();
$typelist   = array("jpg","jpeg","gif","png","JPG");
$imagelist  = array();
$stylesheet = '';
$home       = "{$_SERVER['PHP_SELF']}";
$this_page  = "{$_SERVER['PHP_SELF']}";
$caption    = "";
$captionext = "txt";
if(!isset($_GET['ind']))
    $_GET['ind'] = 0;
$index = $_GET['ind'];
$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 HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<?       if($index-1 >= 0) {?>
   <a href="<?= $this_page ?>?ind=<?= $index-1 ?>#top"><img border=0 src="../images/strzalka1.jpg"></a>
<?       } ?>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td>
  <td width="600">
<div align="center">
      <?
        $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 {              
                ?>
                <img src="<?= $imagelist[$index] ?>" width="<?= $newwidth ?>" height="<?= $maxheight ?>" alt="" />
                <?
                 }
            } else {                  
            if ($newhight > $maxheight)              
                {
                ?>
                <a href="<?= $imagelist[$index] ?>" target="_blank">
                    <img src="<?= $imagelist[$index] ?>" width="<?= $newwidth ?>" height="<?= $maxheight ?>" alt="" />
                </a>
                <?
                } else {          
                ?>            
                <img src="<?= $imagelist[$index] ?>" width="<?= $maxwidth ?>" height="<?= $newheight ?>" alt="" />                           <?      
        }
        }
                } else { ?>
       <img src="<?= $imagelist[$index] ?>" width="<?= $imgwidth  ?>" height="<?= $imgheight ?>" alt="" />
    <?    }
      ?>
</div>
  </td>
  <td>
<?       if($index+1 < count($imagelist) ) {?>
   <a href="<?= $this_page ?>?ind=<?= $index+1 ?>#top"><img border=0 src="../images/strzalka.jpg"></a>
<?       } ?>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </td>
</tr>
<tr>
  <td>
  </td>
  <td>


Kod
   <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" border=0>
  <tr><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)) { ?>
  </td>
<?          }
             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 ?>#top">
                     <img src="<?= $imagelist[$i] ?>" width="<?= $thumbmaxw ?>" height="<?= $newthumbh ?>" alt="" />
                 </a>
                 <?
                 } else {
                                
                 ?>
                 <a href="<?= $path ?>#top">
                     <img border=1 src="<?= $imagelist[$i] ?>" width="<?= $newthumbw ?>" height="<?= $thumbmaxh ?>" alt=""  />
                 </a>
                 <?
                  }
             } else {
               if ($newthumbh > $thumbmaxh)
                 {
                
                 ?>
                 <a href="<?= $path ?>#top">
                     <img border=1 src="<?= $imagelist[$i] ?>" width="<?= $newthumbw ?>" height="<?= $thumbmaxh ?>" />
                 </a>
                 <?
                 } else {              
                
                 ?>                
                 <a href="<?= $path ?>#top">
                     <img border=1 src="<?= $imagelist[$i] ?>" width="<?= $thumbmaxw ?>" height="<?= $newthumbh ?>" alt="" />
                 </a>
                
                 <?      
         }
         }
       ?>
   </td>
<?          }
         }
     }
}
?>
  </tr>
</table>
<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)) { ?>
<? } ?>
     <a href="<?= $this_page ?>?ind=<?= ($j*$imgperpage) ?>#top"><font size=2 face="verdana"><?= ($j+1) ?></font></a>
<? } ?>

musiałem trochę obciąć bo się nie mieściło więc ale chyba wszystko co wazne jest
zegarek84
wszędzie fragment kodu:
Kod
<img border=1 src="<?= $imagelist[$i] ?>"

zamień na:
Kod
<img border=<? echo ((($_GET['ind']*1)==$i)?'4':'1'); ?> src="<?= $imagelist[$i] ?>"

chyba się nie pomyliłem ^^
jgkrzycho
Hum pomyliłeś się, bo pogrubia obrazek na którym jesteśmy, ale nie szkodzi bo się też przyda:D bo chciałem żeby stronę pogrubiało na której jesteśmy bo tego za nic nie można odgadnąć a przydałoby się.
Pod tym adresem http://fiat126p.boo.pl/galeria/galeria.rar jest spakowana galeria, która powinna wyglądać jak galeria ta
http://fiat126p.boo.pl/galeria/galeria/gallery_2.php Mam nadzieję że to pomoże Ci w pomocy mi =]
zegarek84
Cytat(jgkrzycho @ 16.02.2009, 16:04:00 ) *
Hum pomyliłeś się, bo pogrubia obrazek na którym jesteśmy, ale nie szkodzi bo się też przyda:D bo chciałem żeby stronę pogrubiało na której jesteśmy bo tego za nic nie można odgadnąć a przydałoby się.

oki ale napisałęś nie jasno i Ty też się pomyliłeś gdyż tu nie gra roli skrypt galerji a skrypt samej strony głównej ;p - a widzę, że ją akurat masz w samym html (gybyś miał w php to i na galerii miałbyś moderewrite zakończone html)

jednym stronem trzeba by to pogróbić w źródle strony ;p (czyli główna też dobrze by było żeby była w php)

edit
lub serwować inne źródła strony (kilka wersji) - a w skrypcie galerii link na stałe pogróbiony winksmiley.jpg - też rozwiązanie winksmiley.jpg
jgkrzycho
No może i racja, że nie wyraźnie napisałem. Ale z tego co teraz napisałeś to mało zrozumiałem, bo raczej strony głównej nie będę robił w php, bo jak już pisałem nie znam się za bardzo w php, a że galeria tylko jakaś fajna była w php to tylko dlatego ona jest w php. Czyli nie da się jakimś sposobem zrobić tego? Tak żebyś mi podał co zmienic albo cos takiego?smile.gif z gory jeszcze raz dzieki
zegarek84
w pliku index.html odszukaj linii:
  1. <a href="../index.html" >Aktualności</a><br>

i zamień na:
  1. <a href="../index.html" ><b>Aktualności</b></a><br>


w pliku history.html odszukaj linii:
  1. <a href="../history.html">Historia</a><br>

i zamień na:
  1. <a href="../history.html"><b>Historia</b></a><br>


i tak w pozostałych plikach ten link który temu plikowi odpowiada winksmiley.jpg

podobnie pogrób ręcznie link galerii w skrypcie galerii ^^
jgkrzycho
Kurde to znowu się nie zrozumieliśmy. Więc jak wchodzę w galerie to na niej mam 10stron ze zdjęciami, do których linki są pod miniaturkami. I chodzi mi o to żebym np klikając na 3 stronę w galerii widział, że jestem na tej stronie. Bo teraz jak kliknę 3 stronę to widzę miniaturki z 3 strony, ale muszę cały czas pamiętać że to 3 strona, żeby znowu jej nie oglądać tylko zobaczyć kolejną czyli 4 stronę.
zegarek84
ten skrypt:
Kod
for ($j=0;$j<$nrpages;$j++) {
    if(($j%$pgperrow == 0) && ($j > 0)) { ?>
<? } ?>
     <a href="<?= $this_page ?>?ind=<?= ($j*$imgperpage) ?>#top"><font size=2 face="verdana"><?= ($j+1) ?></font></a>
<? } ?>

zamień na:
Kod
$strona=floor($index/$imgperpage);
for ($j=0;$j<$nrpages;$j++) {
    if(($j%$pgperrow == 0) && ($j > 0)) { ?>
<? } ?>
     <a href="<?= $this_page ?>?ind=<?= ($j*$imgperpage) ?>#top"><font size=2 face="verdana"><? echo (($strona==$j)?'<b>':''); ?><?= ($j+1) ?><? echo (($strona==$j)?'</b>':''); ?></font></a>
<? } ?>

może się nie pomyliłem w skrypcie winksmiley.jpg ^^

[edit]
mała poprawka - i skryptu nie sprawdzam na localhost wiec dalej może być błąd ;p
jgkrzycho
Prawie, że idealnievjuż smile.gif. Już wstawiłem to na główną galerię http://www.fiat126p.boo.pl/galeria/gallery.php tylko jeszcze jedna kwestia, pogrubione strony są tylko w pierwszej focie na stronie, jak już włączę drugą i następną to wyłącza się pogrubienie. Sorry szefie, że tak męczę ale już prawie że idealnie jest że chciałbym już do końca to doprowadzić. Jeszcze raz dzięki smile.gif
zegarek84
czytaj kiedy był edit postu wyżej i to sprawdź ;p - zanim napisałeś się domyśliłem bo zauważyłem inną zmienną ;p
jgkrzycho
Super jesteś szefie =] pomógł poszło. Widzę, że usunąłeś te pogrubienie aktualnego zdjęcia, ale chyba już na podstawie tego co mi napisałeś juz sobie jakoś dam radę. Jeszcze raz wielkie dzięki!

edit: A kurde, bo ja to w innej kopii wpisałem, ok gra dzięki jeszcze raz

A mam jeszcze takie jedno pytanie, czy w tej galerii można ustawić, które zdjęcie będzie się wyświetlało jako główne? Tj jak się wchodzi do galerii to one jest to duże. Ale nie takim sposobem że jest pierwsze, bo wtedy by trzeba numeracje zmieniac itp.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.