Gå til innhold

Tilfeldig bilde - Hvor sette inn selve bildekodene


Anbefalte innlegg

Jeg fant dette kjekke scriptet her: http://www.sindrem.com/php-artikler/rand_bilde.html

 

<? 
$antall_bilder = 3; 
$filtype = "jpg"; 

srand((double)microtime()*1000000); 

print "<img src=\"". rand(1,$antall_bilder). ".". $filtype."\" alt=\"Bilde\">"; 
?>

 

Spørsmål 1:

 

Okey, la oss si at jeg skal vise tre bilder. Jeg vet at det første bildet skal settes

print "<img src=\"HER".

, men hvor skal de andre settes? :blush:

 

Spørsmål 2:

 

Hvordan får jeg da dette lagt inn på en side uten å bruke frames? Prøve å includere, men jeg fikk det ikke til :blush: :!:

Lenke til kommentar
Videoannonse
Annonse

Lagre som rand_bilde.php:

<?
$antall_bilder = 3;
$filtype = "jpg";

srand((double)microtime()*1000000);

print "<img src=\"". rand(1,$antall_bilder). ".". $filtype."\" alt=\"Bilde\">";
?>

 

Din-fil.php:

<html>
<body>
Masse tekst<br>
Bilde 1: <?php include rand_bilde.php; ?><br>
Bilde 2: <?php include rand_bilde.php; ?><br>
Bilde 3: <?php include rand_bilde.php; ?><br>
</body>
</html>

 

Edit:

Scriptet tar utgangspunkt i at bildene da heter 1.jpg, 2.jpg og 3.jpg

Endret av ZoRaC
Lenke til kommentar

Sånn da? :blush:

 

<?
$antall_bilder = 3;
$filtype = "jpg";

srand((double)microtime()*1000000);

print "<img src=\"bilde1". rand(1,$antall_bilder). ".". $filtype."\" alt=\"Bilde\">";
?>

print "<img src=\"bilde2". rand(2,$antall_bilder). ".". $filtype."\" alt=\"Bilde\">";
?>

print "<img src=\"bilde3". rand(3,$antall_bilder). ".". $filtype."\" alt=\"Bilde\">";
?>

Endret av Iris_L
Lenke til kommentar

Nei... :p

 

Om du ikke likte min løsning over, så kan du bruke denne:

<?
$antall_bilder = 3;
$filtype = "jpg";

srand((double)microtime()*1000000);

for (i = 0; i<3; i++) {
   print "<img src=\". rand(1,$antall_bilder). ".". $filtype."\" alt=\"Bilde\">";
}
?>

Lenke til kommentar

Om du vil ha den til å velge blant bilder med andre navn kan du bruke denne:

 

<?
$bilder = array("bilde1", "bilde2", "endaEtBilde", "fjerdeBilde", "sisteBilde");
$filtype = "jpg";
$visAntallBilder = 3;

srand((double)microtime()*1000000);
$antall_bilder = count($bilder);

for (i = 0; i<$visAntallBilder; i++) {
  print "<img src=\". $bilder[rand(1,$antall_bilder)]. ".". $filtype."\" alt=\"Bilde\">";
}
?>

 

Det er også mulig å skrive om scriptet til å hente et tilfeldig bilde blant alle bildene i en gitt mappe. ;)

Lenke til kommentar

<?php
// THIS FUNCTION GET ALL FILES IN $dir WITH EXTENSION $type ($type MUST BE ARRAY)
function getFiles($dir, $type) {
   $handle = opendir($dir);
   if (!$handle) {
       return false;
   }

   $res = array();
   while (false !== $file = readdir($handle)) {
       // See if $file is a folder
       if(!is_dir($file)) {
           // IF FILETYPE MATCH
           if (in_array(strtolower(substr($file, strrpos($file, '.'))), $type)) {
               $res[] = $file;
           }
      }

   }
   closedir($handle);
   return $res;
}

// RETURN RANDOM FILE FROM $dir
function getRandomFile($dir, $type) {
   $all_files = getFiles($dir, $type);
   $num_files = 0;

   for ($i=0; $file_name = $all_files[$i]; ++$i) {
       $res[] = $file_name;
       ++$num_files;
   }

   $random_key = array_rand($res);
   return $res[$random_key];
}

$bilde = getRandomFile("./bilder/", array(".jpg", ".jpeg", ".gif", ".png", ".bmp"));
echo "<img src=\"./bilder/$bilde\">";
?>

 

Har ikke testet denne, men bør fungere... ;)

Det er mulig å gjøre det letter også, men jeg hadde disse funksjonene ferdigskrevet fra et annet prosjekt jeg holder på med :p

 

Edit:

Manglet en ")" :blush:

Endret av ZoRaC
Lenke til kommentar

Jeg har laget en mappe som heter "lillekylling" og inni den så har jeg laget en mappe som heter "bilder" og der har jeg alle bildene. Så har jeg laget fil.php Men når jeg prøver å kjøpre scriptet i localhost så får jeg opp dette:

Parse error: parse error, unexpected ';' in c:\programfiler\easyphp\www\lillekylling\fil.php on line 38

 

Jeg har ikke endret på noe i scriptet.

Lenke til kommentar

Min feil, manglet en ")", har endret koden over...

Du må også endre "./bilder/" til den mappen du har bildene i (relativt fra der skriptet kjører fra) :)

 

Edit:

Ser ut til at du kjører fil.php fra mappen "lillekylling", så da er jo "./bilder/" rett likevel ;)

Endret av ZoRaC
Lenke til kommentar

Hm... Jeg prøver å inklude "lillekylling" her:

 

if(brukerID == $_GET['bruker'] || $_GET['bruker'] == "") {
 $vervekode = brukerID + 167897;
 print "<h1>" . brukerNavn . "</h1>\n";
 print "<strong>SP (spillepenger):</strong> " . brukerPenger . "<br />\n";
 print "<strong>E-postadresse:</strong> " . brukerEpost . " (<a href=\"bruker.php?a=rediger\">endre</a>)<br />\n";
 print "<strong>Vervekode:</strong> " . $vervekode . " (<a href=\"side.php?id=95#verving\">Hva er dette?</a>)<br />\n";
 print "<strong>Har vervet:</strong> " . brukerVervet . "<br />\n";
       print "<strong>Informasjon fra Ledelsen:</strong> Finn bilder til dyrene deres <a href=\"http://dyrepraten.com/side.php?id=251\">HER</a>! <br /><br />\n";
       print "<strong>Her er Dyrepratens maskott, Lille Kylling:</strong>";

 

Men det går ikke.. :whistle:

 

Noen som kan hjelpe litt med å vise hvor jeg skal sette inn "kyllingen" ? :)

Lenke til kommentar

Hvor ligger den filen i forhold til den jeg skrev da Om de er i samme mappe blir det som jeg har skrevet under her...

 

Du har ellers et par småfeil her også, husk "$" i variabler:

if($brukerID == $_GET['bruker'] || $_GET['bruker'] == "") {
$vervekode = $brukerID + 167897;
print "<h1>" . $brukerNavn . "</h1>\n";
print "<strong>SP (spillepenger):</strong> " . $brukerPenger . "<br />\n";
print "<strong>E-postadresse:</strong> " . $brukerEpost . " (<a href=\"bruker.php?a=rediger\">endre</a>)<br />\n";
print "<strong>Vervekode:</strong> " . $vervekode . " (<a href=\"side.php?id=95#verving\">Hva er dette?</a>)<br />\n";
print "<strong>Har vervet:</strong> " . $brukerVervet . "<br />\n";
      print "<strong>Informasjon fra Ledelsen:</strong> Finn bilder til dyrene deres <a href=\"http://dyrepraten.com/side.php?id=251\">HER</a>! <br /><br />\n";
      print "<strong>Her er Dyrepratens maskott, Lille Kylling:</strong>";
include "fil.php";

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...