Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Potrzebuję pomocy - plik php przekierowujący do losowego pliku z katalogu
Forum PHP.pl > Forum > Przedszkole
michalc
Witam, pragnę zautomatyzować funkcjonowanie pewnej aplikacji sieciowej, postaram się opisać jakiej pomocy potrzebuję.
Czy może ktoś zasugerować jak stworzyć skrypt, który robiłby następującą rzecz:

- mam katalog http://mojserwer.com/x/ - w nim znajdują się różne pliki (w tym przypadku zdjęcia o rozszerzeniu JPG o przeróżnych nazwach)

chciałbym stworzyć plik http://mojserwer.com/x/random.php po którego wywołaniu zostanie dokonane przekierowanie na jeden, losowo wybrany plik z tego katalogu.

Przykładowo

wywołuję http://mojserwer.com/x/random.php -> zostaję przekierowany na http://mojserwer.com/x/zdjecie1.jpg

wywołuję http://mojserwer.com/x/random.php - zostaję przekierowany na http://mojserwer.com/x/zdjęcie34.jpg

wywołuję http://mojserwer.com/x/random.php - zostaję przekierowany na http://mojserwer.com/x/fotka004.jpg

przy założeniu, że nie robię w pliku random.php listy plików, tylko może on sobie sam wylistować ten katalog i po prostu przekierować na jeden, losowo wybrany plik

Pomożecie? smile.gif

Edycja - genialnie by było, gdyby skrypt ten potrafił po określonym czasie np. 30 minutach usunąć ten wywołany plik jpg z serwera, ale to już pewnie grubsza sprawa
!*!
DirectoryIterator array_rand header
  1. $dir = new DirectoryIterator ('./');
  2.  
  3. $array = null;
  4.  
  5. //echo'<pre>';
  6. foreach ($dir as $file)
  7. {
  8. if(!$file-> isDot() AND !$file-> isDir())
  9. {
  10. //echo $file-> GetFilename().'<br/>';
  11. $array[] .= $file-> GetFilename();
  12. }
  13. }
  14.  
  15. //print_r ($array);
  16.  
  17. echo $array[array_rand($array)];
b4rt3kk
1. Odczyt zawartości katalogu za pomocą readdir.
http://php.net/manual/en/function.readdir.php
2. Stworzenie tablicy z listą plików.
3. Losowanie indeksu z tablicy, np. poprzez mt_rand.
4. Wyświetlenie/przekierowanie do obrazka.
michalc
Jestem kompletnie zielony z PHP, czy ktoś mógłby mi pomóć i przygotować taki plik? Dla Was to 5 minut, dla mnie cały wieczór - jestem skłonny za to zapłacić na tą symboliczną flaszkę smile.gif
!*!
Podałem Ci działający kod. Zmień tylko echo na header.


  1. header("Location: http://localhost/$array[array_rand($array)]");
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.