dynamisches / zufälliges Bild

  • Themenstarter Themenstarter azubi2
  • Beginndatum Beginndatum
A

azubi2

Hallo,
also erstmal vorne weg:
ich kann überhaupt kein PHP :-(
Ich brächte nur eine kleine Funktion:
ein zufälliges Bild.
D.h. dass z.B. ein Bild aufgerufen wird:
Code:
<img src="dynamisch.php" />
Diese Datei: dynamisch.php soll jetzt eben ein zufälliges Bild "zurückwerfen", sodass ein Bild angezeigt werden kann.

Vielen Dank für eure Hilfe.

azub!
 
Hi,
eine Möglichkeit wäre, dass du in dem Verzeichnis "Bilder" Die Bilder mit nummer Benennst:
1.jpg, 2.jpg usw. ...
Und dann machste eine Zufallsfunktion:
PHP:
<?php
$zufall = rand(1,100);
echo "<img src=\"Bilder/".$zufall.".jpg\">";
?>
Gruß,
Snowowl
 
Probier mal Folgendes:
PHP:
<?php

	if( false === ($handle = opendir('/foobar')) ) {
		header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error', true);
		exit;
	}
	$files = array();
	while( false !== ($files = readdir($handle)) ) {
		$files[] = $file;
	}
	closedir($handle);

	shuffle($files);
	$randFile = current($files);
	if( false === ($imageinfo = @getimagesize($randFile)) || empty($imageinfo[2]) ) {
		header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error', true);
		exit;
	}
	$contentSubTypes = array(
		1 => 'image/gif',
		2 => 'image/jpeg',
		3 => 'image/png',
		4 => 'application/x-shockwave-flash'
	);
	header('Content-Type: '.$image[$imageinfo[2]], true);
	readfile($randFile);
	exit;

?>
 
Oder, wenn du es so machen willst:
azubi2 hat gesagt.:
Code:
<img src="dynamisch.php" />

dynamisch.php:
PHP:
$bilder = array() //Hier stehen alle Bilder drinnen, z.B mit der dir-Klasse
$bild = array_rand($bilder);
$header = "Content-type = image/png";
header($header);
readfile($bild);

//War wieder jemand schneller :-)
 
Die einfachste Variante finde ich, ist mit einem Text File. Man schreibt einfach alle Namen der Bilder in das Textfile (in jede Zeile).

PHP:
<?php
$textdatei=file("pics.txt");
srand(microtime()*1000000);
$anzahl=count($textdatei);
$zufall=rand(0,$anzahl-1);
echo "<img src='pics/$textdatei[$zufall]'>";
?>
 
birnkammer hat gesagt.:
Oder, wenn du es so machen willst:


dynamisch.php:
PHP:
$bilder = array() //Hier stehen alle Bilder drinnen, z.B mit der dir-Klasse
$bild = array_rand($bilder);
$header = "Content-type = image/png";
header($header);
readfile($bild);
//War wieder jemand schneller :-)
Also,
Ich habe jetzt leider erst festgestellt, dass das Bild von einer CSS-Datei ausgeführt wird.
Code:
#header {

  margin: 0;
  padding: 0;
  font-family: "Lucida Grande", "Trebuchet MS";
  background: #e0e0e0 url(rand.php) no-repeat top left;    }
beim ausführen von rand.php:
Parse error: syntax error, unexpected T_VARIABLE in /home/t0b1xrbq/www.t0b1.rootzilla.de/wp-content/themes/_de-TicTac/rand.phpon line 4

Die Datei rand.php habe ich zum debuggen geändert:
Code:
<?php
//$bilder = array() //Hier stehen alle Bilder drinnen, z.B mit der dir-Klasse
$bild = 'images/top_div.gif' //array_rand($bilder);
$header = "Content-type = image/gif";
header($header);
readfile($bild);
?>

Danke jetzt schon mal :)

azubi alias Tobi :rolleyes:
 
PHP:
<?php
//$bilder = array() //Hier stehen alle Bilder drinnen, z.B mit der dir-Klasse
$bild = 'images/top_div.gif'; //array_rand($bilder);
$header = "Content-type = image/gif";
header($header);
readfile($bild);
?>

Fehler war: ";" vergessen.

(Sowas solltest du aber selber erkennen können)
 
Zurück