/* banner.php
这个PHP3的滚动程序是由 Anton Olsen ( aolsen@graphweb.com )设计的,你可以自由地修改和使用这个程序,并自由地传播它,如果你对它有了比较重要的修改,请你给作都写份E-Mail。
在这个程序中,作者试图通过多种不同的方法来实现这个功能,但PHP中的图像函数不能显示动画的GIF图片格式及对这种格式的操作(如:fopen, fpassthru, 和 fclose)。作者通过了passthru方法来加以实现,虽然这并不是一种最好的方法,但它可以比别的方法更加快速地显示广告条。
在这个程序中,我们假设:
1、你已经有了一个存放所有的广告图片的目录。
2、所有的广告图片都是GIF格式的。
3、所有的GIF图片都是以banner开头的。
3、在这个目录中没有其它的除了广告图片的文件。
安装这个程序:
1、把这个程序和所有的广告图片(*.GIF)放到一个目录中。
2、把以下这段HTML代码放在你的WEB页面中:
4/14/2000Mouse Chen( litmouse@km169.net)Translate it to Chinese
*/
/* random( $max integer )
返回一个从 0到 $max-1的随机数;
*/
function random( $max )
{
$x = rand();
$y = getrandmax();
$r = $x / $y * ($max -1 );
$r = round( $r++ );
return $r;
}
/*读取目录,把所有的 “banner*”的文件读到一个数组中;*/
$i = 0;
$d= dir( ".");
while($entry=$d->read())
if (substr($entry,0,6) =="banner")
$array[$i++] = $entry;
$d->close();
/* 选取一个随机数 */
$r = random( $i );
/* 发送一个 no-cache 和 gif 类型的文件头,并且输出图片。*/
Header("Pragma: no-cache" );
Header("Expires: Monday 01-Jan-80 12:00:00 GMT" );
Header("Content-type:image/gif");
passthru("cat $array[$r]" );
?>