PHP Code in HTML einbinden...

Grobekelle

Mitglied
Guten Tag,

ich habe folgenden Code-Schnipsel im Netz gefunden, die Funktion ist eine Anzahl von Bildern aus einem Ordner per Zufall wiederzugeben. Das Script funktioniert einwandfrei, wenn ich die php Datei direkt aufrufe. Nun möchte ich diese aber in eine HTML-Datei einbetten nur wie ist das möglich?

Das hier funktioniert nicht:

Code:
<img src="/path_to_the_script_folder/rid.php?pic=random">

Hier der PHP Code...

PHP:
<?php 
//read folder
$folder=opendir("."); 
while ($file = readdir($folder)) 
$names[count($names)] = $file; 
closedir($folder);
//sort file names in array
sort($names);
//remove any non-images from array
$tempvar=0;
for ($i=0;$names[$i];$i++){
$ext=strtolower(substr($names[$i],-4));
if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
}
//random
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($names1, 2);
//random image from array
$slika=$names1[$rand_keys[0]]; 
//image dimensions
$dimensions = GetImageSize($slika); 
if (isset($HTTP_GET_VARS["pic"])){header ("Location: $slika");}
else {echo "<img src=\"$slika\" $dimensions[3]>";}
?>

Gruß

Grobekelle
 
Bennene die .html Date in .php um und fügt dann den Code ein oder füge in der .html Datei ein Ajax Script ein was die Ausgabe der Phpdatei, indem dein Code steht, in ein Div schreibt.
 
Code:
function randompic() {
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest(); // Mozilla, Safari, Opera
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
		} catch (e) {
			try {
				request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
			} catch (e) {}
		}
	}
	if (!request) {
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		return false;
	} else {
		var url = "meinPhpScript.php";
		request.open('post', url, true);
		request.send(null);
		request.onreadystatechange =function() {
	switch (request.readyState) {
		case 4:
			if (request.status != 200) {
				alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
			} else {
				var content = request.responseText;
				document.getElementById('bild').innerHTML = content;
			}
			break;
		default:
			break;
	}
}
	}
}

Das schreibst du in einen script Tag in den Headtag und an die stelle wo das Bild erscheinen soll schreibst du:
HTML:
<script language="JavaScript" type="text/javascript">
<!--
randompic();
-->
</script>
<div id="bild"></div>
 
Vielen Dank für Deine Mühen, Du hast mir wirklich sehr geholfen.
Hoffe Du erntest irgendwann mal eine Belohnung für Deine Hilfsbereitschaft.

Gruß Grobekelle
 
Zurück