Jump to content

návod Random Background Image


Domm

Recommended Posts

Zdravím,

 

mám tu pro vás takový lehčí návod na úplně primitivní script.

 

Co budeme potřebovat:

 

1) Pár obrázků na pozadí webu

2) 5 min času

3) web

 

Ok takže začneme.

 

Jako první si vytvoříme soubor.php

 

Dále jej otevřeme, a napíšeme toto:

 

<?php

?>

 

Tak to by byl základ našeho scriptu.

 

Takže nyní budeme potřebovat "rand" a promněnou do které to zapíšeme.

 

<?php
$bg = rand(0,5);
?>

 

$bg = naše promněná

rand= funkce, která nám náhodně vybere 1 "volbu"

(0,5) = rozmezí randomu tudíž 0 - 5

 

Tak, dále použijeme funkci "switch".

<?php
$bg = rand(0,5);
switch($bg)
?>

 

switch = zvolí "volbu", kterou zapsal random do promněné

 

Ták a teď stačí, aby bylo z čeho vybírat.

 

 

<?php
$bg = rand(0,5);
switch($bg){
 case 0:				
 $img= "1.png";
 break;
 case 1:
 $img= "2.png";
 break;
 case 2:
 $img= "3.png";
 break;
 case 3:
 $img= "4.png";
 break;
 case 4:
 $img= "5.png";
 break;
 case 5:
 $img= "6.png";
 break;
 default:
 $img= "1.png";
 break;
}
?>

 

 

case = "volba"

break = zastaví case

default = defaultně tato "volba">

 

Ok a teď stačí kód, kterým zobrazíme naší "volbu" (obrázek).

 

Jsou 2 možnosti jak to zapsat.

 

1)

<?php echo "<body background='$img'>"; ?>

2)

<body background='<?php echo $img; ?>'>

 

Není to nic těžkého, ale je pěkné, když na stránce nevidíte pouze jedno pozadí :)

 

-->

Jsem amatér, tak moc nekritizujte :d

 

 

Děkuji za pozornost, Domm.

  • Líbí se mi to! (+1) 4
Link to comment
Share on other sites

Návod pěkný a blbuvzdorný. ;)

 

Ale nevidím jako dobrou volbu toto na svém webu dělat, dám-li to na web, klintovi se bude dlouho stahovat pozadí, je-li to pozadí obrázek. Většinou se stejně nikomu nechce dělat z milionem pozadí, které by se k webu hodily.

Link to comment
Share on other sites

Návod pěkný a blbuvzdorný. ;)

 

Ale nevidím jako dobrou volbu toto na svém webu dělat, dám-li to na web, klintovi se bude dlouho stahovat pozadí, je-li to pozadí obrázek. Většinou se stejně nikomu nechce dělat z milionem pozadí, které by se k webu hodily.

 

Tys mě nepochopil :)

 

Jen když máš nějaký web, který se vůbec nemění, tak uvítáš třeba i změnu pozadí, i kdyby byli třeba jen 3 obrázky, i tak je to změna.

Neříkám, abyste se dělali s milióny pozadí, ale bylo by to zajímavé :d

 

A návod sem se snažil udělat tak, aby to pochopil i ten co umí třeba jen s html.

Link to comment
Share on other sites

  • Administrátor

Přijde mi to zbytečný dělat přes switch & case .... Mnohem jednodužší je to takto :


  • <?php
     

  • $img_array = array(
     

  • 'bg.jpg',
     

  • 'bruski.jpg',
     

  • 'WP_Jimmy_3a_1920.jpg'
     

  • );
     

  •  
     

  • $img_rnd = rand(0, sizeof($img_array) - 1);
     

  •  
     

  • header('Content-type: image/jpg');
     

  • header('Content-Disposition: filename=' . $img_array[$img_rnd]);
     

  • readfile($img_array[$img_rnd]);
     

  • ?>

 

Tedy obrázek pak nastavit jako

php_file_with_this_fucking_code.php

Link to comment
Share on other sites

Co budeme potřebovat:

 

1) Pár obrázků na pozadí webu

2) 5 min času

3) web

 

upravil bych 3. bod 3) web s podporou php :d

 

Většina kvalitních webů, již má podporu PHP, takže bych řekl že to není potřeba zmiňovat.

 

 

Přijde mi to zbytečný dělat přes switch & case .... Mnohem jednodužší je to takto :


  • <?php
     

  • $img_array = array(
     

  • 'bg.jpg',
     

  • 'bruski.jpg',
     

  • 'WP_Jimmy_3a_1920.jpg'
     

  • );
     

  •  
     

  • $img_rnd = rand(0, sizeof($img_array) - 1);
     

  •  
     

  • header('Content-type: image/jpg');
     

  • header('Content-Disposition: filename=' . $img_array[$img_rnd]);
     

  • readfile($img_array[$img_rnd]);
     

  • ?>

Tedy obrázek pak nastavit jako

<img src="php_file_with_this_fucking_code.php">

 

 

No Ewwe ono by to šlo i takhle:

 

 

<?php
$images = array(
   '1.jpg',
   '2.jpg',
   '3.jpg',
   '4.jpg',
   '5.jpg'
);
?>

a pak jen

<body background="<?php echo $images[rand(0,(sizeof($images) - 1))]; ?>">

 

 

 

Ale ten 1. způsob mi příde nejlehčí, pro nováčky :)

Link to comment
Share on other sites

Hele asi tak neumím PHP vůbec ani mě neláká se to učit a ten první způsob je asi nejlepší pro nováčka to co rozepisoval Ewwe tak to je složité a nováček se vtom nevyzná možná pro pokročilé je to prkotina ale pro mě ne a to jsem kur*a nováček .. :d

Link to comment
Share on other sites

No tak to nemusíš zminovat vůbec ne? Když děláš návod pro web, tak nemusíš psát, že potřebuješ web, jako by do složek bramboráku v kuchařce psaly, že potřebuješ kuchyň.

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

No tak to nemusíš zminovat vůbec ne? Když děláš návod pro web, tak nemusíš psát, že potřebuješ web, jako by do složek bramboráku v kuchařce psaly, že potřebuješ kuchyň.

 

No jako myslel sem, pro ty co vůbec nemaj zdání co to je, aby to neotevřeli například v malování a nedivili se proč to nefunguje ..

Link to comment
Share on other sites

  • Administrátor

Hele asi tak neumím PHP vůbec ani mě neláká se to učit a ten první způsob je asi nejlepší pro nováčka to co rozepisoval Ewwe tak to je složité a nováček se vtom nevyzná možná pro pokročilé je to prkotina ale pro mě ne a to jsem kur*a nováček .. :d

 

Však v pohodě :)

Link to comment
Share on other sites

Zdravím,

 

mám tu pro vás takový lehčí návod na úplně primitivní script.

 

Co budeme potřebovat:

 

1) Pár obrázků na pozadí webu

2) 5 min času

3) web

 

Ok takže začneme.

 

Jako první si vytvoříme soubor.php

 

Dále jej otevřeme, a napíšeme toto:

 

<?php

?>

 

Tak to by byl základ našeho scriptu.

 

Takže nyní budeme potřebovat "rand" a promněnou do které to zapíšeme.

 

<?php
$bg = rand(0,5);
?>

 

$bg = naše promněná

rand= funkce, která nám náhodně vybere 1 "volbu"

(0,5) = rozmezí randomu tudíž 0 - 5

 

Tak, dále použijeme funkci "switch".

<?php
$bg = rand(0,5);
switch($bg)
?>

 

switch = zvolí "volbu", kterou zapsal random do promněné

 

Ták a teď stačí, aby bylo z čeho vybírat.

 

 

<?php
$bg = rand(0,5);
switch($bg){
 case 0:				
 $img= "1.png";
 break;
 case 1:
 $img= "2.png";
 break;
 case 2:
 $img= "3.png";
 break;
 case 3:
 $img= "4.png";
 break;
 case 4:
 $img= "5.png";
 break;
 case 5:
 $img= "6.png";
 break;
 default:
 $img= "1.png";
 break;
}
?>

 

 

case = "volba"

break = zastaví case

default = defaultně tato "volba">

 

Ok a teď stačí kód, kterým zobrazíme naší "volbu" (obrázek).

 

Jsou 2 možnosti jak to zapsat.

 

1)

<?php echo "<body background='$img'>"; ?>

2)

<body background='<?php echo $img; ?>'>

 

Není to nic těžkého, ale je pěkné, když na stránce nevidíte pouze jedno pozadí :)

 

-->

Jsem amatér, tak moc nekritizujte :d

 

 

Děkuji za pozornost, Domm.

 

Chvalitebný 9/10

Je to pekne aj vysvetlene ;)

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Kdyz uz by to nekdo, opravdu chtel, ackoliv nevidim rozumny vyuziti, tak bych to udelal takto

$images = array("img1.jpg", "img2.jpg" /**, ... **/);
$final_image = $images[rand(0, count($images) - 1)];
<body style="background: <?php echo $final_image; ?>">

Nevidim duvod proc to davat do switche, ktery stejne "novacci" nepochopi a nebo to dokonce zacnou zneuzivat namisto podminek. A ne, neni to lehci pro novacky.

 

Ewwe, zneuzivat cely php soubor, nastavit header, content-dispose, readfile a jeste to pofiderne nacist pres src... Navic nevidim duvod proc pouzit sizeof ktery je pomalejsi nez count.

Nicmene jen tak dale :) Timto se dobre uci.

Link to comment
Share on other sites

A co třeba to udělat nějak univerzálně hm?

<?php
$imagesDirectory = 'images';
$images = array_diff(scandir($imagesDirectory), ['.', '..']);
$randomImage = $images[rand(0, count($images))];
echo '<img src="'.$imagesDirectory.'/'.$randomImage.'" />';
?>

Link to comment
Share on other sites

mimic: s timhle je problem kdyz se v adresari objevi nejaky jiny datovy typ (.htaccess, .gitignore, thubmbs.db, ...), nicmene ano, dala by se vyuzit funkce glob().

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

mimic: s timhle je problem kdyz se v adresari objevi nejaky jiny datovy typ (.htaccess, .gitignore, thubmbs.db, ...), nicmene ano, dala by se vyuzit funkce glob().

 

No tak jasně, ale počital jsem, že v adresáři budou jenom obrázky, jinak přes ten glob jak píšeš

$images = glob('/images/*.{jpg,png}', GLOB_BRACE);

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...