php代码怎么让图片左右滚动,PHP实现自动对图片进行滚动显示的方法

本文实例讲述了PHP实现自动对图片进行滚动显示的方法。分享给大家供大家参考。具体如下:

指定某个图片目录,该程序自动在页面上滚动展示每一张图片,使用方法:

1. 创建一个幻灯片的图像文件夹。

2. 删除图像文件夹中的幻灯片。

3. 将下面代码编码后,粘贴在一个文本文件中,命名为“index.PHP”

4. 上传文件到一个目录中

5. 更换第6和8行为你对应的设置。

6. 运行 (使用第4步中设置的URL)

代码如下:

代码如下:

init()) != '')

{

header('HTTP/1.1 500 Internal Server Error');

echo $err;

exit();

}

// get image files from directory

$ss->get_images();

// set variables,done.

list($curr,$caption,$first,$prev,$next,$last) = $ss->run();

/*

slideshow class,can be used stand-alone

*/

class slideshow

{

private $files_arr = NULL;

private $err = NULL;

public function __construct(&$err)

{

$this->files_arr = array();

$this->err = $err;

}

public function init()

{

// run actions only if img array session var is empty

// check if image directory exists

if (!$this->dir_exists())

{

return 'Error retrieving images,missing directory';

}

return '';

}

public function get_images()

{

// run actions only if img array session var is empty

if (isset($_SESSION['imgarr']))

{

$this->files_arr = $_SESSION['imgarr'];

}

else

{

if ($dh = opendir(IMGDIR))

{

while (false !== ($file = readdir($dh)))

{

if (preg_match('/^.*\.(jpg|jpeg|gif|png)$/i',$file))

{

$this->files_arr[] = $file;

}

}

closedir($dh);

}

$_SESSION['imgarr'] = $this->files_arr;

}

}

public function run()

{

$curr = 1;

$last = count($this->files_arr);

if (isset($_GET['img']))

{

if (preg_match('/^[0-9]+$/',$_GET['img'])) $curr = (int) $_GET['img'];

if ($curr <= 0 || $curr > $last) $curr = 1;

}

if ($curr <= 1)

{

$prev = $curr;

$next = $curr + 1;

}

else if ($curr >= $last)

{

$prev = $last - 1;

$next = $last;

}

else

{

$prev = $curr - 1;

$next = $curr + 1;

}

// line below sets the caption name...

$caption = str_replace('-',' ',$this->files_arr[$curr - 1]);

$caption = str_replace('_',$caption);

$caption = preg_replace('/\.(jpe?g|gif|png)$/i','',$caption);

$caption = ucfirst($caption);

return array($this->files_arr[$curr - 1],1,$last);

}

private function dir_exists()

{

return file_exists(IMGDIR);

}

}

?>

gt;

Slideshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值