⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pic.php

📁 幻灯片 幻灯片 幻灯片 幻灯片 幻灯片 幻灯片 幻灯片
💻 PHP
字号:
<?php
require("config.php");

/*	Class 分类设置	*/
Class neatpic {
	var $configTilte;
	var $configExt = array();
	var $picnum;
	var $picHeight;
	var $picwidth;
	var $picchangetime;
	var $dirOptionList;
	var $pathLevelNum;
	var $dirNum;
	var $picNum;
	var $pageTotal;
	var $start;
	var $offSet;
	var $pageStart;
	var $pageMiddle;
	var $pageEnd;
	var $temp;
	var $picID;
	var $picRealSizeWidth;
	var $picRealSizeHeight;

	var $picArray = array();
	var $picFileArray = array();
	var $dirArray = array();
	var $dirNameArray = array();
	var $pathArray = array();
	var $pathError = false;

	var $page;
	var $path;
	var $style;
	var $c;

	/*	Constructor 构造函数	*/
	function neatpic($configExt, $picnum, $picHeight, $picwidth, $picchangetime, $configTilte) {
		$this->configExt				= & $configExt;
		$this->picnum					= & $picnum;
		$this->picHeight				= & $picHeight ;
		$this->picwidth					= & $picwidth;
		$this->picchangetime			= & $picchangetime;
		$this->configTilte				= & $configTilte;
	}

	/*	Get the querystring 查询字串	*/
	function getVars() {
		$this->page = rawurldecode($_GET['page']);
		$this->path = rawurldecode($_GET['path']);
		$this->style = $_GET['style'];
		if (!$this->style) $this->style = "small";
		if (!$this->path) $this->path = ".";
	}

	/*	Check error 错误	*/
	function checkError() {
		if (preg_match("/\.\./", $this->path)) $pathError = true;
		if (!is_dir($this->path)) $pathError = true;
		if ($pathError == true)	{
			header("location:".$_SERVER['PHP_SELF']);
			exit;
		}
	}

	/*	Path array initialize 路径初始化	*/
	function pathArrayInitialize() {
		if (!$this->path) $this->path = ".";
		$this->pathArray = explode("/", $this->path);
		$this->pathLevelNum = count($this->pathArray);
		$this->nowDirName = $this->pathArray[$this->pathLevelNum - 1];
		if ($this->nowDirName == ".") $this->nowDirName = "相册首页";
	}

	/*	Make over direct 结束指令	*/
	function makeOverdirect() {
		$overPath = ".";
		for($i = 1; $i < $this->pathLevelNum - 1; $i++) {
			$overPath = $overPath."/".$this->pathArray[$i];
		}
		$this->dirArray[] = $overPath;
		$this->dirNameArray[] = "上一页";
		for($i = 1; $i < $this->pathLevelNum; $i++)	{
			$this->encodePath .= rawurlencode($this->pathArray[$i])."/";
		}
	}

	/*	GetFileExt	*/
	function getFileExt($fileName)	{
		$pos = strrpos($fileName, '.');
		return strtolower(substr($fileName, $pos+1, (strlen($fileName)-$pos-1)));
	}

	/*	得到目录列表	*/
	function makeDirList() {
		$dir = dir($this->path);
		while($file = $dir->read())	{
			if ($file <> "." and $file <> ".." and $file != "highslide")	{
				$fileName = $file;
				$file = $this->path."/".$file;
				if (is_dir($file)) {
					$this->dirArray[] = $file;
					$this->dirNameArray[] = $fileName;
				}
				if (in_array($this->getFileExt($file), $this->configExt)) {
					$this->picEncodeArray[] = "".$this->encodePath.rawurlencode($fileName);
					$this->picArray[] = $file;
					$this->picFileArray[] = $fileName;
				}
			}
		}
	}

	/*	得到每组图片数	*/
	function getEachArrayNum() {
		$this->dirNum = count($this->dirArray);
		$this->picNum = count($this->picArray);
	}

	/*	分页设置	*/
	function makePageBar() {
		$this->pageTotal = ceil($this->picNum / $this->picnum);
		if (!$this->page or $this->page < 0) $this->page = 1;
		if ($this->page > $this->pageTotal) $this->page = $this->pageTotal;
		$this->offSet = $this->picnum * $this->page;
		$this->start = $this->offSet - $this->picnum;
		if ($this->start < 0) $this->start = 0;
		if ($this->offSet > $this->picNum) $this->offSet = $this->picNum;
		$this->pageStart = $this->page - $this->picchangetime;
		if ($this->pageStart <= 0) $this->pageStart = 1;
		$this->pageMiddle = $this->page + 1;
		$this->pageEnd = $this->pageMiddle + $this->picchangetime;
		if ($this->page <= $this->picchangetime) $this->pageEnd = $this->picchangetime * 2 + 1;
		if ($this->pageEnd > $this->pageTotal) $this->pageEnd = $this->pageTotal + 1;
	}

	/*	设置图片ID	*/
	function setPicID($id) {
		$this->picID = $id;
	}

	/*	得到图片尺寸	*/
	function getPicDim(){				
		$picSize = GetImageSize($this->picArray[$this->picID]);
		preg_match("!width=\"(.*)\" height=\"(.*)\"!", $picSize['3'], $tempSize);
		$this->picRealSizeWidth		= $tempSize['1'];
		$this->picRealSizeHeight	= $tempSize['2'];
		$tWidth = $this->picRealSizeWidth / $this->picwidth;
		$tHeight = $this->picRealSizeHeight / $this->picHeight;
		if ($this->picRealSizeWidth > $this->picwidth OR $this->picRealSizeHeight > $this->picHeight) {
			if ($tWidth > $tHeight) {
				$this->temp['Width'] = $this->picwidth;
				$this->temp['Height'] = number_format($this->picRealSizeHeight / $tWidth);
			}
			elseif ($tWidth < $tHeight) {
				$this->temp['Height'] = $this->picHeight;
				$this->temp['Width'] = number_format($this->picRealSizeWidth / $tHeight);
			}
			else {
				$this->temp['Width'] = $this->picwidth;
				$this->temp['Height'] = $this->picHeight;
			}
		}
		else {
			$this->temp['Width']	= $this->picRealSizeWidth;
			$this->temp['Height']	= $this->picRealSizeHeight;
		}
	}
	
	/*	得到相册列表	*/
	function makeOptionList() {
		for($i = 0; $i < $this->dirNum; $i++)
			$this->dirOptionList .= "	[ <a href=\"". $_SERVER['PHP_SELF']."?path=".rawurlencode($this->dirArray[$i])."\" title=\"相册: ".$this->dirNameArray[$i]."\">".$this->dirNameArray[$i]."</a> ] \n";
	}

	/*	显示图片列表	*/
	function showPicList() {
		print('<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>'.$this->configTilte.' 播放幻灯片 相册:'.$this->nowDirName.'</title>
<script language="VBscript">
dim FileList,FileListArr
FileList = "');
		$session = & $_SESSION;
		for($i = $this->start; $i < $this->offSet; $i++) {
			$I++;
			$this->setPicID($i);
			$this->getPicDim();

			print("".$this->picEncodeArray[$i].",");
		}
		print('"
dim PlayImg_M
PlayImg_M = '.$this->picchangetime.' * 1000 
</script>
<script language="VBscript" src="highslide/pic.js"></script>
</head>
<body bgcolor="#000000">
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
	<tr id="Noscript">
		<td align="center" style="color:white">对不起,您的浏览器已设置了禁止脚本运行。</td>
	</tr>
	<tr style="display:none" id="CanRunscript">
		<td height="" style="" align="Center" valign="center">
			<img id="Img" border="0"  width="'.$this->temp['Width'].'" height="'.$this->temp['Height'].'">
		</td>
	</tr>
	<tr style="display:none">
		<td><img id="TempImg" border="0"></td>
	</tr>
</table>
<script language="VBscript">
Noscript.style.display = "none"
CanRunscript.style.display = ""
Img.Src = FileListArr(0)
SetTimeout "ChangeImg", PlayImg_M
</script>
</body>
</html>');
	}

	/*	错误提示	*/
	function error($msg) {
		echo "<script language=javascript>";
		echo "window.alert('$msg');";
		echo "history.go(-1);";
		echo "</script>";
		exit;
	}

	/*	输出到主页	*/
	function execute() {
		$this->getVars();
		$this->checkError();
		$this->pathArrayInitialize();
		$this->makeOverdirect();
		$this->makeDirList();
		$this->getEachArrayNum();
		$this->makeOptionList();
		$this->makepagebar();
		$this->showPicList();
		$this->c();
	}
}

/*	页面	*/
error_reporting(0);
session_start();
header("content-Type: text/html; charset=GB2312");
$neatpic = new neatpic($configExt, $picnum, $picHeight, $picwidth, $picchangetime, $configTilte);
$neatpic->execute();
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -