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.