<?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="javascript"> 
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   language="javascript">   
    document.getElementById('Noscript').style.display=="none"; 
    document.getElementById('CanRunscript').style.display=="";   
    document.getElementById('Img').Src=FileListArr(0);   
    SetTimeout("ChangeImg()",PlayImg_M   ); 
</script> } /* 错误提示 */ 
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(); 
?>   我是菜鸟,请教的问题很多!谢谢大家帮忙了!文件还有什么问题吗!