include

domiweber

Erfahrenes Mitglied
Bin gerade an einer neuen Website und will eigentlich, dass beim header bild immer ein anderes bild angezeit wird.
den random-script habe ich und er funkioniert auch prima. aber wenn ich diesen mit dem befehl <?php include("pics/heders/rid.php"); ?> id die eigentliche page includen will kommt folgender fehler:
Warning: array_rand(): First argument has to be an array in /home/domiwebe/public_html/manage/pics/heders/rid.php on line 17
wisst ihr wie ich diesen Fehler beheben kann?
ich hoffe ihr versteht meine Frage
gruss domi
 
In dem Du dafür sorgst, dass das, was Du [phpf]array_rand[/phpf] übergibst, ein Array ist.
Mehr kann ich Dir nicht sagen, da ich Deinen Code nicht erahnen kann.
 
das wäre mein code:

<?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($pic)){header ("Location: $slika");}
else {echo "<img src=\"$slika\" $dimensions[3]>";}
?>
 
Es könnte sein, dass $names1 an der Stelle gar nicht mehr bekannt ist, da Du es innerhalb der Schleife definierst.
Versuche mal, vor der Schleife (wo $tempvar=0; steht) $names1 als $names1=array(); zu definieren.
Und noch ein Tipp: Anstatt den Array-Index explizit anzugeben, wenn Du dem Array ein Element hinzufügst kannst Du auch $names[]="WertInNeuerZeile"; schreiben.

Gruß hpvw

PS: Bitte nutze die Code Tags, [ php ]code[ /php ] für PHP-Quelltexte, [ html ]code[ /html ] für HTML-Quelltexte und [ code ]code[ /code ] für sonstige Quelltexte, natürlich ohne die Leerzeichen. Das macht die Quelltexte übersichtlicher. Für kuze Code-Teile im Fließtext (z.B. Variablen- oder Funktionsnamen) kannst Du [ mono ]kurzer Code fetzen[ /mono ] verwenden.
 
Zurück