Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Potrzebuję pomocy - plik php przekierowujący do losowego pliku z katalogu
michalc
post 12.09.2012, 16:14:11
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.09.2012

Ostrzeżenie: (0%)
-----


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

Ten post edytował michalc 12.09.2012, 16:17:17
Go to the top of the page
+Quote Post
!*!
post 12.09.2012, 16:43:26
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


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)];


Ten post edytował !*! 12.09.2012, 16:46:15


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
b4rt3kk
post 12.09.2012, 16:45:22
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


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.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
michalc
post 12.09.2012, 17:06:29
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.09.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
!*!
post 12.09.2012, 17:31:42
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Podałem Ci działający kod. Zmień tylko echo na header.


  1. header("Location: http://localhost/$array[array_rand($array)]");


Ten post edytował !*! 12.09.2012, 17:32:51


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:43