PHP實現(xiàn)自動對圖片進行滾動顯示的方法
來源:易賢網(wǎng) 閱讀:2783 次 日期:2015-03-16 11:56:11
溫馨提示:易賢網(wǎng)小編為您整理了“PHP實現(xiàn)自動對圖片進行滾動顯示的方法”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了PHP實現(xiàn)自動對圖片進行滾動顯示的方法,涉及php操作圖片特效的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了PHP實現(xiàn)自動對圖片進行滾動顯示的方法。分享給大家供大家參考。具體如下:

指定某個圖片目錄,該程序自動在頁面上滾動展示每一張圖片,使用方法:

1. 創(chuàng)建一個幻燈片的圖像文件夾。

2. 刪除圖像文件夾中的幻燈片。

3. 將下面代碼編碼后,粘貼在一個文本文件中,命名為“index.php”

4. 上傳文件到一個目錄中

5. 更換第6和8行為你對應(yīng)的設(shè)置。

6. 運行 (使用第4步中設(shè)置的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 <= 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], $caption, 1, $prev, $next, $last);

}

private function dir_exists()

{

return file_exists(IMGDIR);

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Slideshow</title>

<style type="text/css">

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;}

</style>

</head>

<body>

<div id="gallery">

<img src="<?=WEBIMGDIR;?><?=$curr;?>" alt="" />

<p><?=$caption;?></p>

<div class="pn">

<a href="?img=<?=$first;?>">First</a> | <a href="?img=<?=$prev;?>" class="sp">Previous</a><a href="?img=<?=$next;?>">Next</a> | <a href="?img=<?=$last;?>">Last</a>

</div>

</div>

</body>

</html>

希望本文所述對大家的php程序設(shè)計有所幫助。

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:PHP實現(xiàn)自動對圖片進行滾動顯示的方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)