Jesteś tutaj: webmade.org >> porady >> php + mysql
autor: Konrad 'knrdk' Kopciuch, ostatnia modyfikacja: 2007-08-27
Czasami zachodzi potrzeba wyświetlenia losowego obrazka z wybranego katalogu, dzięki funkcjom katalogowym dostępnym w PHP można ten proces znacznie uprościć i zautomatyzować.
Najpierw za pomocą funkcji opendir() należy otworzyć folder do odczytu, funkcja jako parametr oczekuje nazwy katalogu który chcemy otworzyć:
$folder = opendir(obrazki);
Teraz należy wczytać do tablicy asocjacyjnej nazwy wszystkich plików z katalogu obrazki
$i = 0; while(false !=($plik = readdir($folder))){ if($plik != "." && $plik != ".."){ $obrazki[$i]= $plik; $i++; } }
Funkcja readdir() zwraca nazwy kolejnych plików w danym katalogu, a gdy wszystkie zostaną już odczytane zwraca false. Instrukcja warunkowa if została zastosowana aby odfiltrować . (obecny folder) i .. (folder o poziom wyżej).
Za pomocą funkcji closedir() zamykamy połączenie z wcześniej otworzonym katalogiem.
Nie pozostało nam nic innego jak wylosować losowy element tablicy, i wyświetlić plik w oknie przeglądarki.
$losowy=rand(0,count($obrazki)-1);
Funkcja rand(), zwraca losową liczbę z podanego w parametrach przedziału. Natomiast funkcja count() przekazuje liczbę elementów tablicy.
Obrazek wyświetlamy poprzez przekazanie do przeglądarki kodu HTML:
echo '<img src="obrazki/'.$obrazki[$losowy].'" alt="" />';
Gotowy skrypt:
<?php $folder = opendir(obrazki); $i = 0; while(false !=($plik = readdir($folder))){ if($plik != "." && $plik != ".."){ $obrazki[$i]= $plik; $i++; } } closedir($folder); $losowy=rand(0,count($obrazki)-1); echo '<img src="obrazki/'.$obrazki[$losowy].'" alt="" />'; ?>
Konrad 'knrdk' Kopciuch
szukaj: losowy obrazek otwieranie katalogów PHP
Osoby czytające tę publikację przeglądały również:
© 2004-2008 copyright by webmade.org