Web Hosting Talk







View Full Version : what wrong


Saryooo
03-15-2005, 09:43 AM
Please check whats wrong with this script....

<?php
$folder=opendir("images/bannerpics/");
while ($file = readdir($folder))
$names[count($names)] = $file;
closedir($folder);
sort($names);
$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++;}
}
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($names1, 2);
$xmImg="images/bannerpics/".$names1[$rand_keys[0]];
$dimensions = GetImageSize($xmImg);
if (isset($pic)){header ("Location: $xmImg");}
else {echo "<img src=\"$xmImg\" $dimensions[3]>";}
?>


It for random pictures from a folder. But it give Undefined variable and Undefined offset error.

zupanm
03-15-2005, 12:58 PM
to fix the $names undefined var add this before the while

$names = array();

mfonda
03-15-2005, 03:33 PM
See if this works:


<?php
$folder=opendir("images/bannerpics/");
$names = array();
while ($file = readdir($folder)) {
$ext=strtolower(substr($file,-4));
if ($ext == '.jpg' || $ext == '.gif' || $ext=='jpeg' || $ext == '.png') {
$names[] = $file;
}
}
closedir($folder);
sort($names);
srand((double) microtime() * 10000000);
$xmImg = 'images/bannerpics/' . array_rand($names);
$dimensions = getimagesize($xmImg); i
if (isset($pic)){header ("Location: $xmImg");}
else {echo "<img src=\"$xmImg\" $dimensions[3]>";
?>