时时商务社区

标题: PHP实现自动对图片进行滚动显示的方法 [打印本页]

作者: 阿情    时间: 2018-2-14 05:48

            本文实例讲述了PHP实现自动对图片进行滚动显示的方法。分享给大家供大家参考。具体如下:
指定某个图片目录,该程序自动在页面上滚动展示每一张图片,使用方法:
1. 创建一个幻灯片的图像文件夹。
2. 删除图像文件夹中的幻灯片。
3. 将下面代码编码后,粘贴在一个文本文件中,命名为“index.php”
4. 上传文件到一个目录中
5. 更换第6和8行为你对应的设置。
6. 运行 (使用第4步中设置的URL)
代码如下:
[U]复制代码[/U] 代码如下: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
        // check if image directory exists
        if (!$this->dir_exists())
        {
            return 'Error retrieving images, missing directory';
        }
        return '';
    }
    public function get_images()
    {
        // run actions only if
        if (isset($_SESSION['']))
        {
            $this->files_arr = $_SESSION[''];
        }
        else
        {
            if ($dh = opendir())
            {
                while (false !== ($file = readdir($dh)))
                {
                    if (preg_match('/^.*\.(jpg|jpeg|gif|png)$/i', $file))
                    {
                        $this->files_arr[] = $file;
                    }
                }
                closedir($dh);
            }
            $_SESSION[''] = $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  $last) $curr = 1;
        }
        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], $caption, 1, $prev, $next, $last);
    }
    private function dir_exists()
    {
        return file_exists();
    }
}
?>
   
    Slideshow
   
    body{margin: 0;padding: 0;font: 100% Verdana, Arial, Helvetica, sans-serif;font-size: 14px;}
    div#gallery{border: 1px #ccc solid;width: 600px;margin: 40px auto;text-align: center;}
    div#gallery img{margin: 20px;border: 2px #004694 solid;}
    div#gallery p{color: #004694;}
    div#gallery div.pn{padding: 10px;margin: 0 5px;border-top: 1px #ccc solid;}
    a{color:#333;}
    a:hover{color:#cc0000;}
    a.sp{padding-right: 40px;}
   

   
        
[img][/img]
        
        
            First | PreviousNext | Last
        
   

希望本文所述对大家的php程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • PHP安全上传图片的方法
  • php通过修改header强制图片下载的方法
  • php将图片保存为不同尺寸图片的图片类实例
  • php上传图片客户端和服务器端实现方法
  • php实现图片转换成ASCII码的方法
  • php获取网页里所有图片并存入数组的方法
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2