Cześć.
JoGadgets nie działa inaczej ani u mnie, ani u kogokolwiek innego. Po prostu forma nazwy dla pliku z obrazkiem jest istotna i ważna, dla każdej galerii, a nie tylko
JoGadgets. Ale w
JoGadgets chodzi o coś innego. W pliku "
jgfw.php" od linii
263 jest taki kod:
Kod: |
$tfiles = '';
foreach($files as $file){
$tmp = explode('.', $file) ;
$tmp[1]=strtolower($tmp[1]);
if($tmp[1]=='jpg'){
$tfiles .= '<photo path="'.$localpath.$prmlist['folder'].'/'.$file.'" link="http://www.jokris.info/" />';
|
...gdzie oryginalnie wartość "
link" jest pusta, czyli:
link=""
...ale tu przy okazji pokazałem, że można do galerii dodać własny "
link" prowadzący w tym przypadku na moją stronę główną. Może to być
link do każdego obrazka, ale będzie otwierał się w tym samym oknie, i spowoduje zakłócenie w pracy
jpgrotatora:
Kod: |
$tfiles = '';
foreach($files as $file){
$tmp = explode('.', $file) ;
$tmp[1]=strtolower($tmp[1]);
if($tmp[1]=='jpg'){
$tfiles .= '<photo path="'.$localpath.$prmlist['folder'].'/'.$file.'" link="'.$localpath.$prmlist['folder'].'/'.$file.'" />';
|
Wracając do pytania. Masz w kodzie istotną dla tematu funkcję
explode. Ale zacznijmy od pętli
foreach, która przeszukuje zawartość folderu z obrazkami traktując ten folder jako "tablicę". Natomiast funkcja
explode "rozbija" wszystkie znalezione nazwy plików w folderze ( tablicy ) z obrazkami ( zmienna
$files ) zawierające w nazwie "
." kropkę i tworzy nową tablicę z tych nazw. Funkcja
strtolower zmienia wszystkie litery w nazwach plików na małe. Jeśli pętla znajdzie plik w którego nazwie znajduje się słowo (rozszerzenie) "
jpg" ( no bo to jest
jpgrotator ), wstawia całą nazwę pliku do ścieżki "
photo path". Teraz dlaczego nie może być w nazwie pliku dwóch kropek. Poniżej masz przykład praktyczny w postaci kodu:
Kod: |
$file = 'cos.tam.jpg';
foreach($files as $file){
$tmp = explode('.', $file) ;
$tmp[1]=strtolower($tmp[1]);
if($tmp[1]=='jpg'){
....itd
|
...otrzymasz tablicę tak wyglądającą:
Kod: |
$tmp[0] == 'cos '
$tmp[1] == 'tam '
$tmp[2] == 'jpg'
|
...wówczas zmienna
$tmp[1] nie zawiera w sobie słowa "
jpg" i obrazek nie zostanie wyświetlony. Tablica powinna wyglądać tak:
Kod: |
$file = 'cos.jpg';
$tmp[0] == 'cos '
$tmp[1] == 'jpg '
|
...i zostanie spełniony warunek
if:
Kod: |
if($tmp[1]=='jpg'){
$tfiles .= '<photo path="'.$localpath.$prmlist['folder'].'/cos.jpg" link="" />';
|
...bo
$tmp[1] == 'jpg'.
Ja myślę, że przy twoich zdolnościach na pewno połapiesz się, o co chodzi. Po prostu taka jest konstrukcja kodu dla
jpgrotator z
JoGadgets, i trzeba trzymać się tego, aby nie dawać dwóch kropek w nazwach plików.
No to chyba wszystko. Pozdrawiam.
Jokris.