ďťż
Podstrony
|
telcocafesiemka mam jeszcze jeden problem. Otóż robie losowy obrazek, zczytuje wszystkie pliki do tablicy a potem za pomocą array_rand losuje sobie obrazek. Ale problem w tym, że pętla zczytuje dosłownie wszystko...tzn także . jak i ..co zrobić żeby przejść do katalogów wyżej nie zczytywało ? wygląda to tak: $curpath = 'admin/zdjecia'; $dir = dir($curpath); $tab = array(); while ($file = $dir->read()) { $tab[] = $file; } $dir->close(); print_r($tab); srand ((float) microtime() * 10000000); $obrazek = $tab[array_rand($tab)]; echo "<b>".$obrazek."</b>"; echo "<img src='admin/zdjecia/".$obrazek."' width='140' height='140' />"; Użytkownik Dawid-San edytował ten post 28 luty 2007, 19:14 Pokaż pętlę... Albo daj: if ($wartosc_wczytywana_do_tablicy == '.' || $wartosc_wczytywana_do_tablicy == '..') continue; //Aha, zatem będzie to takie: $curpath = 'admin/zdjecia'; $dir = dir($curpath); $tab = array(); while ($file = $dir->read()) { if ($file =='.' || $file=='..'){ continue; } $tab[] = $file; } $dir->close(); print_r($tab); srand ((float) microtime() * 10000000); $obrazek = $tab[array_rand($tab)]; echo "<b>".$obrazek."</b>"; echo "<img src='admin/zdjecia/".$obrazek."' width='140' height='140' />"; Użytkownik pbnan edytował ten post 28 luty 2007, 19:16 $curpath = 'admin/zdjecia'; $i = 0; $dir = dir($curpath); $tab = array(); while ($file = $dir->read()) { $tab[] = $file; $i++; } $dir->close(); srand ((float) microtime() * 10000000); $obrazek = $tab[array_rand($tab)]; if($obrazek == '.' OR $obrazek == '..') { $obrazek = $tab[array_rand($tab)]; echo "<img src='admin/zdjecia/".$obrazek."' width='140' height='140' />"; } else { echo "<img src='admin/zdjecia/".$obrazek."' width='140' height='140' />"; } w ten sposób to rozwiązałem...co o tym myślicie? edit// pban twój sposób znacznie lepszy :) dzięki i pozdrawiam Użytkownik Dawid-San edytował ten post 28 luty 2007, 19:23 |
|||
Sitedesign by AltusUmbrae. |