[PHP]Rotator plików graficznych

0
<?
Header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
Header("Pragma: no-cache");
Header("Content-Type: image/gif");
	$adresy=file("admin.txt");
	$ilosc=count($adresy);
	$los=rand(0,$ilosc);
	readfile($adresy[$los]);
?>

W pliku admin.txt mam kilka odnośników do plików graficznych (każdy w innym wersie). Efektem miałobyć wyświetlanie innego obrazka po odświeżeniu strony. Jednak tak nie jest. Żaden obrazek się nie wyświetla :o . Co zrobiłem źle? Będę wdzięczny za pomoc.

0
  1. Nie podajesz długości pliku.
  2. Którą masz wersję PHP? W starszych wersjach było potrzebne inicjowanie generatora liczb pseudolosowych.
  3. Nie masz czasem ustawionego safe-mode? Może blokować ładowanie plików z zewnętrznych serwerów.
  4. Na dobrą sprawę wygodniej byłoby po prostu przekazać w header('Location:'); pozycję tego pliku. Chyba, że konieczne jest ukrycie prawdziwej lokalizacji.
  5. Rand użyj od 0 do count-1.
0

O Boże jakie to proste. Faktycznie wystarczyło przekierować :) . Co do count-1: nie potrzeba bo zwraca prawidłowo. Mam PHP 5.0.5 więc srand niepotrzebny. Safe mode: OFF. A długość pliku? Tak à propos jak ustawić ?

0

Co do count - dziwne, że zwraca tak jak trzeba, bo w manualu PHP jest inaczej :D:
http://pl2.php.net/count
http://pl2.php.net/rand
Z powyższych manuali wniosek jest taki, że dla tablicy 0..5 count zwraca 6, więc rand może zwrócić 6, które będzie poza zakresem tablicy.
Co do przekazania rozmiaru pliku: header('Content-length: '+$rozmiar); gdzie $rozmiar jest rozmiarem w bajtach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1