这篇文章主要介绍了PHP实现自动对图片进行滚动显示的方法,涉及php操作图片特效的技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了php实现自动对图片进行滚动显示的方法。分享给大家供大家参考。具体如下:指定某个图片目录,该程序自动在页面上滚动展示每一张图片,使用方法:
1. 创建一个幻灯片的图像文件夹。
2. 删除图像文件夹中的幻灯片。
3. 将下面代码编码后,,粘贴在一个文本文件中,命名为“index.php”
4. 上传文件到一个目录中
5. 更换第6和8行为你对应的设置。
6. 运行 (使用第4步中设置的URL)
代码如下:
复制代码代码如下:/*PHP image slideshow - auto version - PHP5*/// set the absolute path to the directory containing the images define ('IMGDIR', '/home/devel/public_html/domain.com/public/images/slideshow/');// same but for www define ('WEBIMGDIR', '/images/slideshow/');// set session name for slideshow "cookie"define ('SS_SESSNAME', 'slideshow_sess');// global error variable$err = '';// start img session session_name(SS_SESSNAME);session_start();// init slideshow class$ss = new slideshow($err);if (($err = $ss->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 $last) $curr = 1;}if ($curr{$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], $caption, 1, $prev, $next, $last);}private function dir_exists(){return file_exists(IMGDIR);}}?>Slideshow PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载First|Previous Next|Last希望本文所述对大家的php程序设计有所帮助。
立即学习“PHP免费学习笔记(深入)
”;
