Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prosty skrypt PHP losujący obrazki
konrad852
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 11.06.2012

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


Witam,
Na wstępie zaznaczę że dopierouczę się tego języka, wiem że jest to banalny skrypt ale tak naprawdę mój pierwszy który coś robi biggrin.gif.

Do wglądu pod adresem: http://vmedia.org.pl/php-img-lottery/
wystarczy odświerzyć stronę i na nowo będzie losowało obrazek.

Kod:
  1.  
  2. <?php
  3. $a = "<img src=\"img/1.jpg\" alt=\"\" />";
  4. $b = "<img src=\"img/2.jpg\" alt=\"\" />";
  5. $c = "<img src=\"img/3.jpg\" alt=\"\" />";
  6.  
  7. $img = array(array("img"=>"$a"),
  8. array("img"=>"$b"),
  9. array("img"=>"$c"),
  10. );
  11. $losowanie = count($img);
  12. $maxInt = $losowanie - 1;
  13. $losowanie_rand = rand(0, $maxInt);
  14.  
  15. echo $img[$losowanie_rand]['img'];
  16.  
  17. ?>


Proszę napisać czy jest jakieś lepsze rozwiązanie napisania takiego skryptu oraz wasze sugestie i uwagi.
Pozdrawiam,
K.W.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
toaspzoo
post
Post #2





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


a słyszałeś o array_rand ?
http://php.net/manual/en/function.array-rand.php


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

  1. $img = glob ( "*.jpg" );
  2. $random_key = array_rand ( $img );
  3. echo "<img src=\"{$img[$random_key]}\" alt=\"\" />";


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
konrad852
post
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 11.06.2012

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


Cytat
a słyszałeś o array_rand ?


Nie słyszałem o tym, mógłbys mi pokazać na jakimś prostym przykładzie jak to działa?

rocktech, wydaje mi się że mniej więcej rozmiem jak działa ten kod, ale jak pisałem php uczę się od niedawna, funkcja glob jest mi nie znana, array_random też, ale myślę, że jak będę miał chwilke czasu to poczytam o tym i będę lepiej wiedział jak to stosować.
Dzięki wielkie za porady wink.gif
Go to the top of the page
+Quote Post
scanner
post
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(konrad852 @ 17.09.2012, 12:03:57 ) *
Nie słyszałem o tym, mógłbys mi pokazać na jakimś prostym przykładzie jak to działa?

RTFM do cholery: array_rand


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
markonix
post
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Cytat(rocktech.pl @ 17.09.2012, 09:20:20 ) *
Witam.

  1. $img = glob ( "*.jpg" );
  2. $random_key = array_rand ( $img );
  3. echo "<img src=\"{$img[$random_key]}\" alt=\"\" />";

Czy stosowanie \ i { ma jakieś zalety czy to tylko upodobanie/ przyzwyczajenie?
Wg mnie tak kod wygląda znacznie lepiej:
  1. $img = glob('*.jpg');
  2. echo '<img src="'. $img[array_rand($img)] .'" alt="" />';


--------------------
Go to the top of the page
+Quote Post
Posio
post
Post #7





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


@UP

Po prostu używał " zamiast ` ale dlaczego walił slashe....
Go to the top of the page
+Quote Post
redeemer
post
Post #8





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Cytat(Posio @ 17.09.2012, 15:04:54 ) *
@UP

Po prostu używał " zamiast ` ale dlaczego walił slashe....
Jak już to :
1) ' (nie `)
2) backslashe (nie slashe). A czemu je "walił" to powinieneś wiedzieć...

Swoją drogą wrzucać 15-linijkowy skrypt do działu oceny? Hm....


--------------------
Go to the top of the page
+Quote Post
binprogrammer
post
Post #9





Grupa: Zarejestrowani
Postów: 249
Pomógł: 8
Dołączył: 10.08.2011
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


skrypt jak na początek dobry, chociaż jak pokazali da się krócej jeszcze smile.gif

ps. chlopaki ocencie biggrin.gif

  1. <?php echo "Hello World"; ?>


ps2: wiecie ze raz jak nie dzialalo mi echo w funkcji to dalem print i dzialalo? bez sensu, nie ma przeciez chyba roznicy heh, off top zrobilem, ale git


Niestety nie ma co oceniać za bardzo, a szkoda, idz w dobra strone i przyjdz za rok, ocenimy twojego cmsa, albo jakis wiekszy program smile.gif
Go to the top of the page
+Quote Post
!*!
post
Post #10





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

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


Cytat(binprogrammer @ 17.09.2012, 16:42:46 ) *
ps. chlopaki ocencie biggrin.gif

  1. <?php echo "Hello World"; ?>


A co jeśli ocenić chciałaby to kobieta np. szef moderatorów? biggrin.gif Kod fatalny... no gdzie mi z tym cudzysłowem.

Cytat
ps2: wiecie ze raz jak nie dzialalo mi echo w funkcji to dalem print i dzialalo? bez sensu, nie ma przeciez chyba roznicy heh, off top zrobilem, ale git


Też tak miałem, ale później wytrzeźwiałem.

Ten post edytował !*! 17.09.2012, 16:47:27


--------------------
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
konrad852
post
Post #11





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 11.06.2012

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


ej no dzięki śmiejcie się ze mnie, piszę przecież że dopiero się uczę... A dałem do oceny bo nie znalazłem innego pasującego działu.
Go to the top of the page
+Quote Post
!*!
post
Post #12





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

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


Cytat(konrad852 @ 20.09.2012, 12:39:37 ) *
ej no dzięki śmiejcie się ze mnie, piszę przecież że dopiero się uczę... A dałem do oceny bo nie znalazłem innego pasującego działu.

Nie z Ciebie, dobrze że się uczysz, chodzi o to że w tym dziale z reguły są pokaźniejsze skrypty do oceny, te kilka linijek to jest nic i nie ma co oceniać, wrzuć tego typu kod do przedszkola z zapytaniem czy można lepiej, bo w 99% zawsze można... Nie bierz tego tak osobiście, czasami się nabijamy, głównie z siebie wink.gif


--------------------
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
toaspzoo
post
Post #13





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


Cytat(konrad852 @ 17.09.2012, 12:03:57 ) *
Nie słyszałem o tym, mógłbys mi pokazać na jakimś prostym przykładzie jak to działa?

rocktech, wydaje mi się że mniej więcej rozmiem jak działa ten kod, ale jak pisałem php uczę się od niedawna, funkcja glob jest mi nie znana, array_random też, ale myślę, że jak będę miał chwilke czasu to poczytam o tym i będę lepiej wiedział jak to stosować.
Dzięki wielkie za porady wink.gif



Poproś kogoś, niech Ci wytłumaczy jak działa funkcja...


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
konrad852
post
Post #14





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 11.06.2012

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


Trochę mnie to demotywuje, ale raczej się na poddam z php bo zainwestowałem w kurs troszkę, może nie dużo ale zawsze coś.
Do funkcji jeszcze nie doszedłem bo chcę sobie lepiej przyswoić to czego się nauczyłem do tej pory, a następny dział to właśnie funkcje, a mam wrażenie że jak pójdę teraz dalej to mi się to wszystko pomiesza.

Dzięki za wskazówkę "!*!" na przyszłość takie żeczy będę wrzucał do przedszkola.

Pozdrawiam,
KW.
Go to the top of the page
+Quote Post
materkamil
post
Post #15





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 24.04.2012

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


Ten kod:

  1. <?php
  2. $a = "<img src=\"img/1.jpg\" alt=\"\" />";
  3. $b = "<img src=\"img/2.jpg\" alt=\"\" />";
  4. $c = "<img src=\"img/3.jpg\" alt=\"\" />";
  5.  
  6. $img = array(array("img"=>"$a"),
  7. array("img"=>"$b"),
  8. array("img"=>"$c"),
  9. );
  10. $losowanie = count($img);
  11. $maxInt = $losowanie - 1;
  12. $losowanie_rand = rand(0, $maxInt);
  13.  
  14. echo $img[$losowanie_rand]['img'];
  15.  
  16. ?>


robi praktycznie to samo co ten kod:

  1. <?php
  2. echo('<img src='.rand(1,3).'.jpg></img>');
  3. ?>


To dodam tak na marginesie bo napisałeś w 1 poście:

Cytat
Proszę napisać czy jest jakieś lepsze rozwiązanie napisania takiego skryptu


Przykład działania:

http://94.251.191.53/123.php

Ten post edytował materkamil 20.09.2012, 17:34:15


--------------------
Strona o bezpieczeństwie komputerowym
http://www.materdefense.hostzi.com
Go to the top of the page
+Quote Post
toaspzoo
post
Post #16





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


Cytat(materkamil @ 20.09.2012, 18:31:21 ) *
Ten kod:

  1. <?php
  2. $a = "<img src=\"img/1.jpg\" alt=\"\" />";
  3. $b = "<img src=\"img/2.jpg\" alt=\"\" />";
  4. $c = "<img src=\"img/3.jpg\" alt=\"\" />";
  5.  
  6. $img = array(array("img"=>"$a"),
  7. array("img"=>"$b"),
  8. array("img"=>"$c"),
  9. );
  10. $losowanie = count($img);
  11. $maxInt = $losowanie - 1;
  12. $losowanie_rand = rand(0, $maxInt);
  13.  
  14. echo $img[$losowanie_rand]['img'];
  15.  
  16. ?>


robi praktycznie to samo co ten kod:

  1. <?php
  2. echo('<img src='.rand(1,3).'.jpg></img>');
  3. ?>


To dodam tak na marginesie bo napisałeś w 1 poście:



Przykład działania:

http://94.251.191.53/123.php


Po co ten post? Autor wątku podał przykład działania jego skryptu, zostało mu wytłumaczone a twój link do skryptu nie prezentuje niczego więcej niż jego
Cytat


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
!*!
post
Post #17





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

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


Cytat(materkamil)
robi praktycznie to samo co ten kod:


Teoretycznie. W praktyce się wywali, gdy nie znajdzie pliku, co zresztą lepiej pokazał rocktech.pl.


--------------------
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
materkamil
post
Post #18





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 24.04.2012

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


Tylko w prostym przykładzie pokazałem jak można lepiej stworzyć ten sam skrypt o co autor pytał

@up: racja, ale można dodać jednego ifa i wszystko ok

Ten post edytował materkamil 20.09.2012, 18:02:03


--------------------
Strona o bezpieczeństwie komputerowym
http://www.materdefense.hostzi.com
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 Aktualny czas: 21.08.2025 - 17:06