📄 index.php
字号:
$this->temp['Height'] = $this->configDivHeight-2;
}
}
else {
$this->temp['Width'] = $this->picRealSizeWidth;
$this->temp['Height'] = $this->picRealSizeHeight;
}
}
/* 显示页头 */
function showtitlecss() {
$this->nowDirName =$_GET['path'] ;
print("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n");
print("<html xmlns:v>\n");
print("<head>\n");
print("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />\n");
print("<title>".$this->configTilte." ".$this->nowDirName." - PHP HighSlide + 幻灯相册程序</title>\n");
print("<link rel=\"stylesheet\" type=\"text/css\" href=\"highslide/style.css\" />\n");
}
/* 当前相册信息 */
function showState() {
$widths=$this->configPageWidth-8;
print("<script type='text/javascript' src='highslide/title_div_right_mail.js'></script>\n");
print("<script type='text/javascript' src='highslide/highslide.js'></script>\n");
print("<body oncontextmenu=\"return false\" onclick=\"menuclose(menu2,30)\">\n");
print("<a name=\"top\"></a>\n");
print("<div id=\"highslide-container\"></div>\n");
print("<div id=\"picback\" style=\"display:none;\">\n");
print(" <div class=\"highslide-caption\" id=\"the-caption\">\n");
print(" <input onclick=\"return hs.previous(this);\" class=\"control lastpage\" value=\" 上一张 \" readonly>\n");
print(" <input onclick=\"return hs.next(this);\" class=\"control nextpage\" value=\" 下一张 \" readonly>\n");
print(" <input onclick=\"showhidediv('picback');hs.close(this);\" class=\"control\" value=\" 关 闭 \" readonly>\n");
print(" <input class=\"highslide-move\" type=\"button\" value=\" 移 动 \" readonly>\n");
print(" <div style=\"clear:both\"></div>\n");
print(" </div>\n");
print("</div>\n");
print("<div class=\"showState\" style=\"width:".$widths."px;\">\n");
print(" <span><a href=\"".$_SERVER['PHP_SELF']."\">".$this->configTilte."</a></span>\n");
print(" 当前位置: <b><font color=\"red\">".$this->nowDirName."</font></b> \n");
print(" 其中包含: [ 相册数: <b><font color=\"red\">". ($this->dirNum - 1) ."</font></b> 图片数: <b><font color=\"red\">".$this->picNum."</font></b> 每页显示: <b><font color=\"red\">".$this->configEachPageMax."</font></b> 个 ] \n");
print(" 查看模式: [ <a href=\"".$_SERVER['PHP_SELF']."?path=".rawurlencode($this->path)."&style=real&page=".$this->page."\"><font color=\"blue\" title=\"按照真实比例查看图片\">真实</font></a> ] [ <a href=\"".$_SERVER['PHP_SELF']."?path=".rawurlencode($this->path)."&style=small&page=".$this->page."\"><font color=\"blue\" title=\"以缩小比例查看图片\">缩略</font></a> ] 特点:<font style=\"color:red\">支持中文</font> <a href=\"http://album.ofcn.cn\" title=\"与您分享此相册程序\" target=\"_blank\">下载</a>\n");
print("</div>\n");
print("<div id=\"menu2\" style=\"display:none;\" onmouseover=\"if(event.srcElement.tagName=='roundrect'){event.srcElement.strokecolor='blue';event.srcElement.style.color='blue';event.srcElement.style.marginLeft=0}\" onmouseout=\"if(event.srcElement.tagName=='roundrect'){event.srcElement.strokecolor='#739efe';event.srcElement.style.color='#739efe';event.srcElement.style.marginLeft=0}\">\n");
for($i = 0; $i < $this->dirNum; $i++)
$this->rightdirkey .= " <v:roundrect class=\"menulist\" arcsize=\"0.5\" strokecolor=\"#739efe\" onmouseup=\"javascript:location.href('". $_SERVER['PHP_SELF']."?path=".rawurlencode($this->dirArray[$i])."')\"><v:fill type=\"gradient\" opacity=\".4\" color=\"#739efe\" color2=\"white\" angle=\"88\"/>".$this->dirNameArray[$i]."</v:roundrect><br />\n";
print("$this->rightdirkey");
print(" <v:roundrect class=\"menulist\" arcsize=\"0.5\" strokecolor=\"#739efe\" onmouseup=\"javascript:location.reload()\"><v:fill type=\"gradient\" opacity=\".4\" color=\"#739efe\" color2=\"white\" angle=\"88\"/>刷新</v:roundrect><br />\n");
print(" <v:roundrect class=\"menulist\" arcsize=\"0.5\" strokecolor=\"#739efe\" onmouseup=\"menuclose(menu2,30)\"><v:fill type=\"gradient\" opacity=\".4\" color=\"#739efe\" color2=\"white\" angle=\"88\"/>关闭</v:roundrect>\n");
print("</div>\n");
}
/* 得到相册列表 */
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 showDirList() {
$widths=$this->configPageWidth-8;
print("<div class=\"showDirList\" style=\"width:".$widths."px;\">\n");
print(" <p><a href=\"javascript:mailpage()\" title=\"与朋友分享或发给别人欣赏这些照片!\">分享本页</a> | <a href=\"pic.php?path=".$_GET['path']."\" target=\"_blank\" title=\"播放当前相册的幻灯片\">播放幻灯</a></p>\n");
print(" 相册列表:\n");
print(" [ <a href=\"./\">相册首页</a> ]\n");
print("$this->dirOptionList");
print("</div>\n");
}
/* 截取长文件名 */
function sortName($filename){
$filename = substr($filename, 0, strrpos($filename, '.'));
$strlen = strlen($filename);
if ($strlen > $this->strLenMax) $filename = substr($filename, 0, ($this->strLenMax)).chr(0)."...";
return $filename;
}
/* 显示图片列表 */
function showPicList() {
print("<form name=\"dfile\" action=\"". $_SERVER['PHP_SELF'] ."?action=del&style=".$_GET['style']."&page=".$_GET['page']."\" method=\"post\">\n");
print(" <input type=\"hidden\" name=\"path\" value=\"".rawurlencode($this->path)."\">\n");
/* 全图尺寸显示 */
$session = & $_SESSION;
if ($this->style == "real") {
for($i = $this->start; $i < $this->offSet; $i++) {
$this->setPicID($i);
$this->getPicDim();
/* 读出图片格式/尺寸 */
$this->configShowPicSize == true ? $picFileSize = sprintf("%0.2f", filesize($this->picArray[$i]) / 1024) : $picFileSize = " -- ";
if ($session[$this->ThisPicLogined])
print(" <input type=\"checkbox\" name=\"delfile[]\" value=\"".$this->picFileArray[$i]."\" title=\"删除图片 <font color='blue'>".$this->picFileArray[$i]."</font>\"> \n");
printf(" <br /><a href=\"#top\">返回顶部</A> #%s %s %s × %s %s KB<br />\n",($i + 1), $this->picFileArray[$i], $this->picRealSizeWidth, $this->picRealSizeHeight, $picFileSize);
printf(" <a href=\"%s\" class=\"highslide\" target=\"_blank\"><img src=\"%s\" border=\"0\"></a><br />\n", $this->picEncodeArray[$i], $this->picEncodeArray[$i]);
}
}
/* 缩略尺寸显示 */
else {
printf(" <div class=\"photolist\" style=\"width:".$this->configPageWidth."px;\">\n");
for($i = $this->start; $i < $this->offSet; $i++) {
$I++;
$this->setPicID($i);
$this->getPicDim();
/* 读出图片格式/尺寸 */
$this->configShowPicSize == false ? $picFileSize = " -- " : $picFileSize = sprintf("%0.2f", filesize($this->picArray[$i]) / 1024);
print(" <div class=\"photoid\">\n");
print(" <div class=\"photoname\">图片名:".$this->sortName($this->picFileArray[$i])."</div>\n");
if($_GET['path']!="")$imgurl=$_GET['path']."/";//对文件目录的获得方式,重新改编解决了出现URL中,中文出现乱码的问题
//下面的代码把图片的输出采用了JS输出。输出的同时对中文进行了编码,以方便HIGHSLIDE进行JS的中文接收。输出的方式改变解决了常见的中文中URL中成为乱码的问题。
print(" <div class=\"photos\" style=\"width:".$this->configDivWidth."px;height:".$this->configDivHeight."px\"><script>document.write('<a href=\"'+escape(\"".$imgurl.$this->picFileArray[$i]."\")+'\" class=\"highslide\" onclick=\"showhidediv(\'picback\');return hs.expand(this);\"><img src=\"".$this->picEncodeArray[$i]."\" border=\"0\" width=\"".$this->temp['Width']."\" height=\"".$this->temp['Height']."\" alt=\"文件 : <font color=\'red\'>".$this->picFileArray[$i]."</font> <br /> 尺寸 : <font color=\'blue\'>".$this->picRealSizeWidth." × ".$this->picRealSizeHeight."</font> 像素 <br /> 格式 : <font color=\'green\'>".$this->getFileExt($this->picFileArray[$i])."</font> <br /> 大小 : <font color=\'green\'>".$picFileSize."</font> KB<br /> 修改 : <font color=\'green\'>".date('Y/m/d h:i:s',filemtime($this->picEncodeArray[$i]))."</font>\"></a>');</script></div>\n");
print(" <div class=\"photoshow\">");
if ($session[$this->ThisPicLogined])
print("<input type=\"checkbox\" name=\"delfile[]\" value=\"".$this->picFileArray[$i]."\" title=\"删除图片 <font color='blue'>".$this->picFileArray[$i]."</font>\"> ");
print("".$this->picRealSizeWidth." × ".$this->picRealSizeHeight." ".$picFileSize." KB</div>\n");
print(" </div>\n");
if ($this->configPageWidth == $I) {
$I = 0;
print("");
}
}
print(" </div>\n");
}
print("</form>\n");
}
/* 显示设置状态 */
function showConfigState() {
$widths=$this->configPageWidth-8;
$this->configOpenGzip == true ? $openGzip = "开启" : $openGzip = "关闭";
$this->configShowPicSize == true ? $showPicSize = "开启" : $showPicSize = "关闭";
$this->configWantedPass == true ? $showWantedPass = "开启" : $showWantedPass = "关闭";
print("<div class=\"showConfigState\" style=\"width:".$widths."px;\">\n");
printf(" <span style=\"float: right;padding-right:8px;\"><a href=\"./?action=help\">查看帮助</a> | <a href=\"%s?action=login&path=%s\">管理登陆</a></span>\n", $_SERVER['PHP_SELF'], rawurlencode($this->path));
printf(" 压缩页面: <font color=\"red\"><b>%s</b></font> 显示图片大小: <font color=\"red\"><b>%s</b></font> 登录认证: <font color=\"red\"><b>%s</b></font> \n", $openGzip, $showPicSize, $showWantedPass);
print("</div><br />\n");
/* 此段代码若修改则相册失效请尊重版权 */
printf($this->decode("UG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vb2Zjbi5jbiIgdGFyZ2V0PSJfYmxhbmsiPlBIUCBIaWdoU2xpZGUgKyC7w7XGz+Cy4bPM0PI8L2E+IDxhIGhyZWY9ImluZGV4LnBocD9hY3Rpb249aGVscCNzbSI+s8zQ8sn5w/c8L2E+IFByb2Nlc3NlZCBpbiAlcyBzZWMgPGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly93d3cubWlpYmVpYW4uZ292LmNuLyIgdGFyZ2V0PSJfYmxhbmsiPiVzPC9hPiBDb3B5cmlnaHQgPGEgaHJlZj0iLi8iPiVzPC9hPiBBbGwgUmlnaHRzIFJlc2VydmVkLgo"),$this->usedTime, $this->icp, $this->weburl);
print($this->statcode."\n");
print("</body>\n");
print("</html>");
}
/* 显示登录窗口 */
function showLogin() {
$widths=$this->configPageWidth-8;
print("<body>\n");
print("<div class=\"showDirList\" style=\"width:".$widths."px;margin-top:80px;\">登陆验证</div>\n");
print("<div class=\"showDirList\" style=\"width:".$widths."px;height:150px;\">\n");
print(" <center>\n");
print(" <form method=\"post\" action=\"".$_SERVER['PHP_SELF']."?action=loginout\"><br /><br />\n");
print(" <span>输入密码:</span>\n");
print(" <input type=\"password\" name=\"password\">\n");
print(" <button type=\"submit\">登录</button>\n");
print(" <input type=\"hidden\" name=\"login\" VALUE=\"".$_GET['action']."\">\n");
print(" <input type=\"hidden\" name=\"path\" VALUE=\"".$_GET['path']."\">\n");
print(" </form>\n");
print(" </center>\n");
print("</div>\n");
}
/* 显示管理设置 */
function showAdmincp() {
$session = & $_SESSION;
$widths=$this->configPageWidth-8;
if ($session[$this->ThisPicLogined] == true) {
print("<script language=\"javascript\" src=\"highslide/checkbox_picset.js\"></script>\n");
print("<div class=\"showConfigState\" style=\"width:".$widths."px;padding-top:5px;\">\n");
print(" <form action=\"".$_SERVER['PHP_SELF']."?action=upload\" method=\"post\" enctype=\"multipart/form-data\">\n");
print(" <span><a href=\"###\" onclick=\"javascript:selectall()\"><font color=\"blue\" title=\"选择当前页的所有图片\">全选/反选</font></a> | <a href=\"javascript:document.dfile.submit()\"><font color=\"blue\" title=\"删除已经选定了的图片\">删除图片</font></a> | <a href=\"".$_SERVER['PHP_SELF']."?action=cfgdirpass&path=".rawurlencode($this->path)."\"><font color=\"blue\" title=\"添加/编辑 当前目录的访问密码\">目录密码</font></A> | <a href=\"".$_SERVER['PHP_SELF']."?action=loginout&path=".rawurlencode($this->path)."\"><b><font color=\"red\" title=\"退出登录\">退出</font></b></a></span>\n");
print(" 管理选项\n");
if (is_writeable($this->path))
print(" <input type=\"hidden\" name=\"path\" value=\"".rawurlencode($this->path)."\"><input type=\"file\" name=\"image\" title=\"上传文件到 <font color='blue'>".$this->nowDirName."</font> 目录\"> <input type=\"submit\" title=\"上传一张照片到当前相册 \" value=\"上传图片\"> <input type=\"button\" title=\"选择相册批量上传照片\" value=\"批量上传\" OnClick=\"self.location='".$_SERVER['PHP_SELF']."?path=".rawurlencode($this->path)."&action=uploadmore'\"> <input type=\"button\" title=\"进行相册设置\" value=\"相册设置\" OnClick=\"self.location='".$_SERVER['PHP_SELF']."?path=".rawurlencode($this->path)."&action=picset'\">\n");
else
printf(" <font color=\"red\"><b>无法上传图片 目录 <font color=\"blue\">%s</font> 不可写</b></font>\n", $this->nowDirName);
print(" </form>\n");
print("</div>\n");
}
}
/* 删除选择的图片 */
function delFile() {
if ($_GET['action'] == 'del') {
$session = & $_SESSION;
if ($session[$this->ThisPicLogined]) {
$path = rawurldecode($_POST['path']);
$delFile = & $_POST['delfile'];
foreach($delFile as $file) {
unlink($path."/".$file);
}
header("location:".$_SERVER['PHP_SELF']."?path=".$_POST['path']."&style=".$_GET['style']."&page=".$_GET['page']);
}
}
}
/* 登录后显示上传 */
function showUpload() {
if ($_GET['action'] == 'upload') {
$this->timer();
$this->showtitlecss();
$this->upload();
$this->usedTime();
$this->showConfigState();
exit;
}
}
/* 相册及照片的更名删除建立 */
function picset() {
if ($_GET['action'] == 'picset') {
$widths=$this->configPageWidth-8;
if($_GET['do'] == 'changedirname') {
if (file_exists($this->nowDirName."/".$_POST['newdirname'])) {
print("<body>\n");
print("<div class=\"showDirList\" style=\"width:".$widths."px;margin-top:120px;font-size:14px;\"><center><font color=\"red\">已有此相册,请重新输入!</font></center></div>\n");
print("</body>\n");
print("</html>\n");
exit;
}
else {
rename ($this->nowDirName."/".$_POST['olddirname'],$this->nowDirName."/".$_POST['newdirname']);
print("<body>\n");
print("<div class=\"showDirList\" style=\"width:".$widths."px;margin-top:120px;font-size:14px;\"><center><font color=\"red\">操作成功!</font></center></div>\n");
print("</body>\n");
print("</html>\n");
exit;
}
}
if($_GET['do'] == 'changepicname') {
if (file_exists($this->nowDirName."/".$_POST['picdir']."/".$_POST['newpicname'])) {
print("<body>\n");
print("<div class=\"showDirList\" style=\"width:".$widths."px;margin-top:120px;font-size:14px;\"><center><font color=\"red\">已有此照片名,请重新输入!</font></center></div>\n");
print("</body>\n");
print("</html>\n");
exit;
}
else {
rename ($this->nowDirName."/".$_POST['picdir']."/".$_POST['oldpicname'],$this->nowDirName."/".$_POST['picdir']."/".$_POST['newpicname']);
print("<body>\n");
print("<div class=\"showDirList\" style=\"width:".$widths."px;margin-top:120px;font-size:14px;\"><center><font color=\"red\">操作成功!</font></center></div>\n");
print("</body>\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -