• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP实现自动对图片进行滚动显示的方法_PHP

php 搞代码 3年前 (2022-01-25) 21次浏览 已收录 0个评论

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

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

1. 创建一个幻灯片的图像文件夹。
2. 删除图像文件夹中的幻灯片。
3. 将下面代码编码后,粘贴在一个文本文件中,命名为“index.php”
4. 上传文件到一个目录中
5. 更换第6和8行为你对应的设置。
6. 运行 (使用第4步中设置的URL)

代码如下:

<?<br />/*<br />    PHP image slideshow - auto version - PHP5<br />*/<br />// set the absolute path to the directory containing the images<br />define ('IMGDIR', '/home/devel/public_html/domain.com/public/images/slideshow/');<br />// same but for www<br />define ('WEBIMGDIR', '/images/slideshow/');<br />// set session name for slideshow "cookie"<br />define ('SS_SESSNAME', 'slideshow_sess');<br />// global error variable<br />$err = '';<br />// start img session<br />session_name(SS_SESSNAME);<br />session_start();<br />// init slideshow class<br />$ss = new slideshow($err);<br />if (($err = $ss->init()) != '')<br />{<br />    header('HTTP/1.1 500 Internal Server Error');<br />    echo $err;<br />    exit();<br />}<br />// get image files from directory<br />$ss->get_images();<br />// set variables, done.<br />list($curr, $caption, $first, $prev, $next, $last) = $ss->run();<br />/*<br />    slideshow class, can be used stand-alone<br />*/<br />class slideshow<br />{<br />    private $files_arr = NULL;<br />    private $err = NULL;<br />    public function __construct(&$err)<br />    {<br />        $this->files_arr = array();<br />        $this->err = $err;<br />    }<br />    public function init()<br />    {<br />        // run actions only if img array session var is empty<br />        // check if image directory exists<br />        if (!$this->dir_exists())<br />        {<br />            return 'Error retrieving images, missing directory';<br />        }<br />        return '';<br />    }<br />    public function get_images()<br />    {<br />        // run actions only if img array session var is empty<br />        if (isset($_SESSION['imgarr']))<br />        {<br />            $this->files_arr = $_SESSION['imgarr'];<br />        }<br />        else<br />        {<br />            if ($dh = opendir(IMGDIR))<br />            {<br />                while (false !== ($file = readdir($dh)))<br />                {<br />                    if (preg_match('/^.*\.(jpg|jpeg|gif|png)$/i', $file))<br />                    {<br />                        $this->files_arr[] = $file;<br />                    }<br />                }<br />                closedir($dh);<br />            }<br />            $_SESSION['imgarr'] = $this->files_arr;<br />        }<br />    }<br />    public function run()<br />    {<br />        $curr = 1;<br />        $last = count($this->files_arr);<br />        if (isset($_GET['img']))<br />        {<br />            if (preg_match('/^[0-9]+$/', $_GET['img'])) $curr = (int)  $_GET['img'];<br />            if ($curr  $last) $curr = 1;<br />        }<br />        if ($curr <= 1)<br />        {<br />            $prev = $curr;<br />      <span style="color:transparent">/本文来源gaodai#ma#com搞*!代#%^码网%</span><sub>搞代gaodaima码</sub>      $next = $curr + 1;<br />        }<br />        else if ($curr >= $last)<br />        {<br />            $prev = $last - 1;<br />            $next = $last;<br />        }<br />        else<br />        {<br />            $prev = $curr - 1;<br />            $next = $curr + 1;<br />        }<br />        // line below sets the caption name...<br />        $caption = str_replace('-', ' ', $this->files_arr[$curr - 1]);<br />        $caption = str_replace('_', ' ', $caption);<br />        $caption = preg_replace('/\.(jpe?g|gif|png)$/i', '', $caption);<br />        $caption = ucfirst($caption);<br />        return array($this->files_arr[$curr - 1], $caption, 1, $prev, $next, $last);<br />    }<br />    private function dir_exists()<br />    {<br />        return file_exists(IMGDIR);<br />    }<br />}<br />?><br /><br /><br /><br />    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br />    <title>Slideshow</title><br />    <style type="text/css"><br />    body{margin: 0;padding: 0;font: 100% Verdana, Arial, Helvetica, sans-serif;font-size: 14px;}<br />    div#gallery{border: 1px #ccc solid;width: 600px;margin: 40px auto;text-align: center;}<br />    div#gallery img{margin: 20px;border: 2px #004694 solid;}<br />    div#gallery p{color: #004694;}<br />    div#gallery div.pn{padding: 10px;margin: 0 5px;border-top: 1px #ccc solid;}<br />    a{color:#333;}<br />    a:hover{color:#cc0000;}<br />    a.sp{padding-right: 40px;}<br />    </style><br /><br /><body><br />    <div id="gallery"><br />        " alt="" /><br />        <p>

“>First | ” class=”sp”>Previous”>Next | “>Last

希望本文所述对大家的php程序设计有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP实现自动对图片进行滚动显示的方法_PHP
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址