Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozwinięcie galerii zdjęć.
Forum PHP.pl > Forum > PHP
PcPablo
Witam wszystkich znawców php i nie tylko.
Dzięki wam zrobiłem prostą galerię na stronach: www.panoramy.kielce.com
www.4lo.kielce.com

Polegało to na tym, że obrazek się wyświetlał wzależności odzmiennej w adresie, np. zdjecie=1

no i wyswietla mi sie obrazek zdjecie1.jpg

<?
$zdjecie=str_replace('.','',$zdjecie);
$zdjecie=EscapeShellCmd($zdjecie);
$zdjecie=$DOCUMENT_ROOT.dirname($_SERVER['PHP_SELF']).'/'.$zdjecie.'jpg'; ?>
<img src="images/galeria/zdjecie<? echo $_GET['zdjecie']?>.jpg" style="border: 1 solid #0099FF">

Chciałbym dorobic do tego dwie rzeczy:

1. Dwa odnośniki: do poprzedniego obrazka i do następnego.

W jednym odpowiednio żeby od zmiennej odejmowało się jeden, a w drugim żeby się dodawało.

2. Rzecz - bardziej skomplikowana.

Chcę zrobić coś takiego żeby w pewnym pliku tekstowym pod tymi samymizmiennymi co dla zdjęć były ukryte jakieś teksty. I żeby przygładowo pod obrazkiem o zmiennej 1 wyświetlał się jakiś opis właśnie z tego pliku o taj samej zmiennej.

Mam nadzieje, że zrozumieliście mnie.
Proszę o pomoc.
Pozdrawiam
zork
Kod
$next=$_GET['zdjecie']+1;

$prev=$_GET['zdjecie']-1;

if ($prev<=1){

echo "<a href="$PHP_SELF?zdjecie=$next">Następne</a>";

}elseif ($next>=1){

echo "<a href="$PHP_SELF?zdjecie=$prev">Poprzednie</a>";

echo "<a href="$PHP_SELF?zdjecie=$next">Następne</a>";

};

i
Kod
include("$_GET['zdjecie'].txt")

gdzie w pliku txt masz opis.
ot co biggrin.gif
scanner
Cytat
Dzięki wam zrobiłem prostą galerię na stronach:  
(...)

Tak troche OT:
Na kielcach, to IMHO niepotrzebnie otwiera sie nowe okno (-1 punkt)
Na LO bardzo paskudnie wyglada resize (i to bledny) okna przegladarki. POzbadz sie tego JS, bo tylko meczysz wzrok a efektu zadnego nie ma... (-2 punkty)
End of OT

A teraz w temacie. Nie chce mi sie przeszukiwac forum jak to z ta galeria bylo, ale powiedz mi, co to ma oznaczac:

Cytat
$zdjecie=str_replace('.','',$zdjecie);  
$zdjecie=EscapeShellCmd($zdjecie);  
$zdjecie=$DOCUMENT_ROOT.dirname($_SERVER['PHP_SELF']).'/'.$zdjecie.'jpg'; ?>  
<img src="images/galeria/zdjecie<? echo $_GET['zdjecie']?>.jpg" style="border: 1 solid #0099FF"> ?>


Jak dla mnie to troszke zamieszane i zaplatane.

Skonstruuj linki do fotek w ten sposob:
Kod
http://twoj.serwer.com/galeria.php?galeria=[nazwa_katalogu]&fotka_id=[id_fotki]

Dzieki temu, mozesz zdjecia wyswietlac:
Kod
$fotka = 'sciezka/do/katalogu/z/galeriami/'.$_GET['galeria'].'/zdjecie'.$_GET['fotka_id'];

if(file_exists($fotka.'.jpg')){

  ?><img src="<?php echo $fotka.'.jpg' ?>"><?php

}

if(file_exists($fotka.'.txt')){

  include($fotka.'.txt');

}

w tym momencie mozesz łatwo dodać linki next ($_GET['fotka_id']+1) i prev ($_GET['fotka_id']-1) - trzeba tylko pamietac, zeby sprawdzac:

a) jesli ($_GET['fotka_id']-1) < 1 nie pokazuj "prev"
cool.gif jesli ($_GET['fotka_id']+1) > ostatnie_ID_w_katalogu nie pokazuj "next"
PcPablo
Zork: Dzięki za podpowiedź co do linków.

A jeżeli chodzi o to wpisywanie tekstu z pliku, to chodzi mi o to, żeby np. w pliku podpisy.txt znajdowały się pod odpowiednimi zmiennymi liczbowymi opisy do zdjęć do o takich samych zmiennych.
W jednym pliku wszyskie opisy.

Czyli jak $zdjecie=1 , to wyświetli mi się plik zdjęcie1.jpg (to już jest zrobione) i z pliku podpisy.txt wyświetli się tekst zawarty pod tą samą zmienną.

Scanner: To co tam napisałem to jest tylko kod dzięki któremu wyśwetla się odpowiedni obrazek. A to wyżej to tylko jakieś zabezpieczenia.

I za bardzo nie zrozumiałem o jaki resize na stronie LO Ci chodziło.

Pozdrawiam
scanner
Cytat
Scanner:  To co tam napisałem to jest tylko kod dzięki któremu wyśwetla się odpowiedni obrazek. A to wyżej to tylko jakieś zabezpieczenia.
Widze co to jest.. tylko po co tak kombinowac? Zacznj od poprawnego skonstruowania linkow to nie bedziesz musial "zabezpieczac" - zyskasz na czytelnosci i szybkosci (wiem - jedna fotka na stronie to nic, ale na optymalnosc zawsze trzeba zerknac)
Cytat
I za bardzo nie zrozumiałem o jaki resize na stronie LO Ci chodziło.
Chodzilo mi o to, ze majac zmaksymalizowane okno przegladarki, otwieram strone lo, po czym przegladarka zmienia swoje rozmiary. Rozumiem chcec maxymalizowania, ale nie podoba mi sie zadna strona, ktora robi cos z oknem bez mojej zgody. Z tego co widze to za to odpowiada chyba <script language="JavaScript" src="script/auto_max.js"></script> wytnij to z łaski swojej, to okno mi miga przy klikaniu na kazdy link... a to nieladnie.
Pozatym, pociagne jescze offtopik... zerknij na zrodlo strony i zastanow sie dlaczego masz conajmniej dwa razy sekcje <head>...</head> to sie chyba mija ze specyfikacja HTML smile.gif)
kwiateek
Wydaje mi sie ze pozostanie tylko przy liczbach w nazwach plikow jest owszem jakims poacztkowym rozwiazaniem ale wg. mnie nie za dobrym. Mozna to zrobic w taki sposob ze zdjecia bylby posegregowane w odpowiednich katalogach i kazde mialoby nazwe dowolna nie ograniczajaca sie wylacznie do ID co by umozliwilo latwiejsze dodawanie...
PcPablo
To zę Ci coś miga, to nie wiem dlaczego, bo u mnie nic nie miga. Nie widziałem tego nigdzie.
To, że mam dwie sekcje HEAD to wynik tego że w stronie, którą include też jest ta sekcja. Nie wywaliłem tych sekcji z podstron. Wkrótce to zrobie, jak będę ją poprawiał. To jeszcze zrobie zmienne tytuły zależnie od strony i inne.
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.