Mein einfacher Bilder Rotate Code will nicht funktionieren :-(

nitrobesim

Erfahrenes Mitglied
Hallo.
Also irgendwie funktioniert mein Code nicht.

Wer kann mir helfen?

PHP:
<?php

$imagevar=rand(1, 2);
if($imagevar==1)
  {
    print "<img src='http://www.yersey.de/yerseyimagelayout/headers/image_header_1.jpg'>";
  }
else if($imagevar==2)
  {
   print "<img src='http://www.yersey.de/yerseyimagelayout/headers/image_header_2.jpg'>";
  }


?>


Wer hilft mir?
 
ich hab jetzt einen anderen Code benutzt von einer Tutorialseite, aber der ändert das Bild gar nicht :-(
PHP:
<?php
/*
By Matt Mullenweg > http://photomatt.net
Inspired by Dan Benjamin > http://hiveware.com/imagerotator.php
Latest version always at:
http://photomatt.net/scripts/randomimage
*/

// Make this the relative path to the images, like "../img" or "random/images/".
// If the images are in the same directory, leave it blank.
$folder = '';

// Space seperated list of extensions, you probably won't have to change this.
$exts = 'jpg jpeg png gif';

$files = array(); $i = -1; // Initialize some variables
if ('' == $folder) $folder = './';
$handle = opendir($folder);
$exts = explode(' ', $exts);
while (false !== ($file = readdir($handle))) {
foreach($exts as $ext) { // for each extension check the extension
if (preg_match('/\.'.$ext.'$/i', $file, $test)) { // faster than ereg, case insensitive
$files[] = $file; // it's good
++$i;
}
}
}
closedir($handle); // We're not using it anymore
mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
$rand = mt_rand(0, $i); // $i was incremented as we went along

header('Location: '.$folder.$files[$rand]); // Voila!
?>
 
Dein erster Code funktioniert schon. Dein Problem ist, dass der Code nur 2 Zahlen zur Auswahl hat. Da kommt es vor, dass mehrmals hintereinander die selbe Zahl kommt.
 
Hallo,
man könnte dein Script auch noch wesentlich kürzen/vereinfachen:
PHP:
<?php
    echo '<img src="http://www.yersey.de/yerseyimagelayout/headers/image_header_'.rand(1, 2).'.jpg">';
?>

mfg
forsterm
 
Ja, er zeigt immer nur dasselbe BIld an.
Kann man den Code irgendwie programmieren, dass er sich mit den Bildern immer abwechselt?
 
PHP:
<?php
    session_start();
    if (!isset($_SESSION['bildID']) or $_SESSION['bildID'] > 1){
        $_SESSION['bildID'] = 1;
    } else if (isset($_SESSION['bildID']) && $_SESSION['bildID'] == 1) {
        $_SESSION['bildID'] = 2;
    }
    echo '<img src="http://www.yersey.de/yerseyimagelayout/headers/image_header_'.$_SESSION['bildID'].'.jpg">';
?>
 
Danke. Wenn ich die php Datei jetzt aufrufe, funktioniert es.

Nur im Template integriert, zeigt er kein Bild an :-.(

HTML:
<DIV style="LEFT: 110px; OVERFLOW: auto; WIDTH: 334px; POSITION: absolute; TOP: 37px; HEIGHT: 194px"><IMG src="http://www.yersey.de/yerseyimagelayout/headers/rotate.php"> </DIV>
 
Hallo,

in dieser Konstellation darfst du in der rotate.php natürlich keinen Image-Tag ausgeben. Entweder du gibst die jeweilige Datei aus oder du leitest via [phpf]header[/phpf] auf das selektierte Bild um.

Grüße,
Matthias
 
Zurück