Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] prozba o pomoc przy skrypcie..
Forum PHP.pl > Forum > Przedszkole
andixxx
hej mam problem.. otoz mam na serwerze katalog z plikami (tylko *.jpg !) o dosc skomplikowanych nazwach skladajacych sie z wielu cyfr i kropek.. teraz mam pytanie, jak powinien wygladac skrypt, ktory odczyta sam wszystkie pliki z tego katalogu, nastepnie posegreguje je alfabetycznie tzn. tak aby ta z najwieksza wartoscia byla na samym poczatku (na samej gorze, malejaco) i nastepnie wyswietli te obrazki? .. nie mam zielonego pojecia jak taki skrypt powinien wygladac sad.gif

edit:
mam taki skrypt:
  1. <?php
  2. $dir = opendir('images'); // katalog, z którego pobieram pliki
  3. while(false !== ($file = readdir($dir)))
  4. {
  5. if($file != '.' && $file != '..')
  6. echo $file . '<br />';
  7. }
  8. ?>

no i wszystko ladnie sie wyswietla tak jak chce, ale w kolejnosci od najmiejszej do najwiekszej (nazwy plkikow posegregowane sa rosnaco, a nie malejaco), a jak to zrobic na odwrot (aby bylo sgregowane malejaco?)?
wyswietla sie lista plikow typu:
000001.jpg
000002.jpg
000003.jpg
...

a mi zalezy na tym, aby wyswietlanie bylo od konca np:
000999.jpg
000998.jpg
000997.jpg
...

jak to zmienic? .. skrypt wyswietla liste plikow, ale wiem jak zrobic aby zmaiast ich nazw pokazywaly sie obrazki:)
skowron-line
  1. <?php
  2. $dir = opendir('images'); // katalog, z którego pobieram pliki
  3. while(false !== ($file = readdir($dir)))
  4. {
  5. if($file != '.' && $file != '..')
  6. $tab[$i++] = $file;
  7. }
  8. $file = array_reverse($file);//odwrocenie tablicy
  9. print_r($file);
  10. ?>

Kod
ale wiem jak zrobic aby zmaiast ich nazw pokazywaly sie obrazki:)

czapki z glow
wipo
Wczytaj je do tablicy i uszereguj tablice.
Kod
Potem tylko for($x=0;$x<count($tablica);$x++){
  ?><img src="<?=$tablica[$x];?>"><?
}

I sprawa załatwiona
andixxx
skowron-line.. a co znaczy to? ..

Cytat
Notice: Undefined variable: i in G:\FTP\www\gallery\demo.php on line 6
Warning: array_reverse() [function.array-reverse]: The argument should be an array in G:\FTP\www\gallery\demo.php on line 8


..pokazalo sie po uzyciu Twojego kodu ;p
myth
Znaczy, ze Twoje $file nie jest tablica.

Powinno byc:
  1. <?php
  2. $file = array_reverse($tab);//odwrocenie tablicy
  3. while(list($key, $val)=each($file)) 
  4. {
  5. echo $val.'<br />';
  6. }
  7. ?>


Na poczatku skryptu dodaj jeszcze:
  1. <?php
  2. $i=0;
  3. ?>

to pozbedziesz sie: "Notice: Undefined variable: i in G:\FTP\www\gallery\demo.php on line 6"
andixxx
ok teraz jest ok, tylko mam jesczze jedno pytanie... wyswietla mi pliki w tej kolejnosci jakiej chce, ale w taki sposob:
Cytat
Array ( [0] => 0012.jpg [1] => 0011.jpg [2] => 0009.jpg [3] => 0008.jpg [4] => 0007.jpg [5] => 0006.jpg [6] => 0005.jpg [7] => 0004.jpg [8] => 0003.jpg [9] => 0002.jpg [10] => 0001.jpg )
jak pozbyc sie tego:
Array ( [0] => , [2] =>, [3] =>, itd itp aby wyswietlalo sie tak o:
Cytat
0012.jpg
0011.jpg
0010.jpg
0009.jpg
...
wipo
a skąd Ci się to bierzę?
Wyświetlasz to print_r?
andixxx
tak
  1. <?php
  2. print_r($file);
  3. ?>
myth
  1. <?php
  2. $i=0;
  3. $dir = opendir('images/'); // katalog, z którego pobieram pliki
  4. while(false !== ($file = readdir($dir)))
  5. {
  6.  if($file != '.' && $file != '..')
  7.  $tab[$i++] = $file;
  8. }
  9. $file = array_reverse($tab);//odwrocenie tablicy
  10.  
  11. while(list($key, $val)=each($file)) 
  12. {
  13. echo $val.'<br />';
  14. }
  15. ?>
wipo
for($x=0;$x<count($tab);$x++){
print $tab[$x];
}

a jak chcesz obrazki wyświetlić to
zamiast print .....
daj print "<img src=\"".$tab[$x]."\">";
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.