首页 > 开发 > PHP > 正文

相册程序

2024-05-04 22:59:49
字体:
来源:转载
供稿:网友
  • <?php
    /*
    +---------------------------------------------------+
    | name : neatpic (无数据版本)
    +---------------------------------------------------+
    | created / modify : 2003-12-27 / 2004-4-13
    +---------------------------------------------------+
    | version : 1.2.3
    +---------------------------------------------------+
    | author : walkerlee, gouki
    +---------------------------------------------------+
    | powered by neatstudio 2002 - 2004
    +---------------------------------------------------+
    | qq : 808075
    | email : [email protected]
    | homepge : http://www.neatstudio.com
    | bbs : http://www.neatstudio.com/bbs/
    +---------------------------------------------------+
    | note :
    |
    | 1.本软件对于非商业用户完全免费,如果要使用在商业用途
    | 方面,必须取得作者的授权.
    |
    | 2.你可以任意传播以及修改本程序,但不能以任何形式删除
    | 本程序的版权.请记住,保留作者版权是对作者工作的尊敬.
    |
    | 3.如果有问题,可以通过上面提供的方式进行解答,但作者
    | 学业繁重,如果不能及时或者不解答,请谅解.
    |
    | 4.作者对使用该程序导致的问题,不予以负责.
    |
    | 5.本程序版权归 neatstudio 所有.禁止任何侵权行为!
    |
    +---------------------------------------------------+
    */

    /*
    +----------------------------------+
    | config
    +----------------------------------+
    | c / m : 2003-12-28 / 2004-4-13
    +----------------------------------+
    */

    $configadminpass  = "neatpic";         //管理员密码 注:安全起见,默认密码不能登陆管理
    $configwantedpass  = false;          //查看相册是否需要密码 需要:true 不需要:false
    $configopengzip   = true;           //是否压缩页面 压缩:true 不压缩:false
    $configshowpicsize  = false;          //是否显示图片的大小 (单位:kb) 显示:true 不显示:false (注:不显示,程序运行速度将提高)
    $configext    = array('jpg', 'jpeg', 'gif', 'png', 'bmp'); //图片类型
    $strlenmax    = 25;           //文件名字限制长度 (防止撑破表格)
    $configeachpagemax  = 16;           //每页显示的图片数目
    $configeachlinemax  = 4;           //每行显示的图片数目
    $configtdwidth   = 185;           //表格宽度
    $configtdheight   = 138;           //表格高度
    $configpagemax   = 5;           //分页前后预览数
    $configdirpasswordfile = "neatpicpassword.php";      //密码文件
    $configtilte   = "欢迎光临“开花的草”相册。设有精美小图、动态图片、人物图片、图文并茂、网页横幅、站长相关。";      //标题
    $configver    = "1.2.3";          //程序版本号

    /*
    +----------------------------------+
    | class
    +----------------------------------+
    | c / m : 2003-12-28 / 2003-12-29
    +----------------------------------+
    */

    class neatpic
    {
     var $configwantedpass;
     var $configadminpass;
     var $configopengzip;
     var $configshowpicsize;
     var $configext = array();
     var $strlenmax;
     var $configeachpagemax;
     var $configeachlinemax;
     var $configtdheight;
     var $configtdwidth;
     var $configpagemax;
     var $configtilte;
     var $configver;

     var $diroptionlist;
     var $timer;
     var $usedtime;
     var $pathlevelnum;
     var $nowdirnmae;
     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
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */
     
     function neatpic($configwantedpass, $configadminpass, $configdirpasswordfile, $configopengzip, $configshowpicsize, $configext, $strlenmax, $configeachpagemax, $configeachlinemax, $configtdheight, $configtdwidth, $configpagemax, $configtilte, $configver)
     {
      $this->configwantedpass    = & $configwantedpass;
      $this->configadminpass    = & $configadminpass;
      $this->configdirpasswordfile  = & $configdirpasswordfile;
      $this->configopengzip    = & $configopengzip;
      $this->configshowpicsize   = & $configshowpicsize;
      $this->configext     = & $configext;
      $this->strlenmax     = & $strlenmax;
      $this->configeachpagemax   = & $configeachpagemax;
      $this->configeachlinemax   = & $configeachlinemax;
      $this->configtdheight    = & $configtdheight ;
      $this->configtdwidth    = & $configtdwidth;
      $this->configpagemax    = & $configpagemax;
      $this->configtilte     = & $configtilte;
      $this->configver     = & $configver;
     }

     /*
     +----------------------------------+
     | open gzip
     +----------------------------------+
     | c / m : 2003-12-29 / --
     +----------------------------------+
     */
     
     function gzip()
     {
      if ($this->configopengzip == true)
       ob_start("ob_gzhandler");
     }

     /*
     +----------------------------------+
     | get the querystring
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     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
     +----------------------------------+
     | c / m : 2003-12-28 / 2004-1-1
     +----------------------------------+
     */

     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
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     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 = "根目录";
     }

     /*
     +----------------------------------+
     | timer
     +----------------------------------+
     | c / m : 2003-12-29 / --
     +----------------------------------+
     */

     function timer()
     {
      $time = explode( " ", microtime());
      $usec = (double)$time[0];
      $sec = (double)$time[1];
      $this->timer = $usec + $sec;
     }

     /*
     +----------------------------------+
     | show used time
     +----------------------------------+
     | c / m : 2003-12-29 / --
     +----------------------------------+
     */

     function usedtime()
     {
      $starttime = $this->timer;
      $this->timer();
      $endtime = $this->timer;
      $usedtime = $endtime - $starttime;
      $this->usedtime = sprintf("%0.4f", $usedtime);
     }

     /*
     +----------------------------------+
     | make over direct
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     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
     +----------------------------------+
     | c / m : 2003-12-28 / --
     +----------------------------------+
     */

     function getfileext($filename)
     {
      $pos = strrpos($filename, '.');
      return strtolower(substr($filename, $pos+1, (strlen($filename)-$pos-1)));
     }

     /*
     +----------------------------------+
     | make direct list
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     function makedirlist()
     {
      $dir = dir($this->path);

      while($file = $dir->read())
      {
       if ($file <> "." and $file <> "..")
       {
        $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;
        }
       }
      }

     }

     /*
     +----------------------------------+
     | get each array number
     +----------------------------------+
     | c / m : 2003-12-28 / --
     +----------------------------------+
     */

     function geteacharraynum()
     {
      $this->dirnum = count($this->dirarray);
      $this->picnum = count($this->picarray);
     }

     /*
     +----------------------------------+
     | make page bar
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     function makepagebar()
     {

      $this->pagetotal = ceil($this->picnum / $this->configeachpagemax);

      if (!$this->page or $this->page < 0) $this->page = 1;
      if ($this->page > $this->pagetotal) $this->page = $this->pagetotal;

      $this->offset = $this->configeachpagemax * $this->page;
      $this->start = $this->offset - $this->configeachpagemax;

      if ($this->start < 0) $this->start = 0;
      if ($this->offset > $this->picnum) $this->offset = $this->picnum;

      $this->pagestart = $this->page - $this->configpagemax;
      if ($this->pagestart <= 0) $this->pagestart = 1;

      $this->pagemiddle = $this->page + 1;
      $this->pageend = $this->pagemiddle + $this->configpagemax;
      
      if ($this->page <= $this->configpagemax) $this->pageend = $this->configpagemax * 2 + 1;
      if ($this->pageend > $this->pagetotal) $this->pageend = $this->pagetotal + 1;
     }

     /*
     +----------------------------------+
     | show page bar
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     function showpagebar()
     {
      print("<center>/n");
      print("<br>");
      print("[ <a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&&page=".($this->page - 1)."/" title=/"上一页/">上一页</a> ]&nbsp;");
      
      print("<a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&&page=1/"  title=/"首页/"><< </a>/n");

      for ($i = $this->pagestart; $i < $this->page; $i++)
       print("<a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&&page=".$i."/" title=/"第 ".$i." 页/">[".$i."]</a>&nbsp;");

      printf("[<font color=/"red/"><b>%s</b></font>]", $this->page);

      for ($i = $this->pagemiddle; $i < $this->pageend; $i++)
       print("<a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&&page=".$i."/" title=/"第 ".$i." 页/">[".$i."]</a>&nbsp;");

      print("...<a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&&page=".$this->pagetotal."/" title=/"第 " . $this->pagetotal . " 页/">[" . $this->pagetotal . "]</a>/n");
      
      print(" <a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&&page=".$this->pagetotal."/" title=/"尾页/">>></a>/n");

      print("[ <a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&&page=".($this->page + 1)."/" title=/"下一页/">下一页</a> ]&nbsp;共 <b><font color=/"red/">".$this->pagetotal."</font></b> 页&nbsp;&nbsp;当前所在第 <b><font color=/"red/">".$this->page."</font></b> 页");
      print("<br><br>");
      print("</center>/n");
     }

     /*
     +----------------------------------+
     | set picture id
     +----------------------------------+
     | c / m : 2003-12-28 / --
     +----------------------------------+
     */

     function setpicid($id)
     {
      $this->picid = $id;
     }

     /*
     +----------------------------------+
     | get picture dimension
     +----------------------------------+
     | c / m : 2003-12-28 / --
     +----------------------------------+
     */

     function getpicdim()
     {    

      $picsize = getimagesize($this->picarray[$this->picid]);
      preg_match("!width=/"(.*)/" height=/"(.*)/"!", $picsize['3'], $tempsize);

      $this->picrealsizewidth  = $tempsize['1'];
      $this->picrealsizeheight = $tempsize['2'];

      /*
      $tempsize['1'] < $this->configtdwidth ? $this->temp['width'] = $tempsize['1'] : $this->temp['width'] = $this->configtdwidth;
      $tempsize['2'] < $this->configtdheight ? $this->temp['height'] = $tempsize['2'] : $this->temp['height'] = $this->configtdheight;
      */

      $twidth = $this->picrealsizewidth / $this->configtdwidth;
      $theight = $this->picrealsizeheight / $this->configtdheight;

      if ($this->picrealsizewidth > $this->configtdwidth or $this->picrealsizeheight > $this->configtdheight)
      {
       if ($twidth > $theight)
       {
        $this->temp['width'] = $this->configtdwidth;
        $this->temp['height'] = number_format($this->picrealsizeheight / $twidth);
       }
       elseif ($twidth < $theight)
       {
        $this->temp['height'] = $this->configtdheight;
        $this->temp['width'] = number_format($this->picrealsizewidth / $theight);
       }
       else
       {
        $this->temp['width'] = $this->configtdwidth;
        $this->temp['height'] = $this->configtdheight;
       }
      }
      else
      {
       $this->temp['width'] = $this->picrealsizewidth;
       $this->temp['height'] = $this->picrealsizeheight;
      }
     }
     /*
     +----------------------------------+
     | show the title javascript
     +----------------------------------+
     | c / m : 2003-12-29 / 2003-12-30
     +----------------------------------+
     */

     function showjs()
     {
      print('
      <script>
      /******************************************************************************
        neatpic show title
        modified by: walkerlee
        date: 2003-12-30
        based upon:  crossday studio and http://www.cnzzz.com
      *******************************************************************************/

      tpopwait=20;
      showpopstep=10;
      popopacity=85;

      spop=null;
      curshow=null;
      tfadeout=null;
      tfadein=null;
      tfadewaiting=null;

      document.write("<style type=/'text/css/'id=/'defaultpopstyle/'>");
      document.write(".cpoptext { font-family: verdana, tahoma; background-color: #f7f7f7; border: 1px #000000 solid; font-size: 11px; padding-right: 4px; padding-left: 4px; height: 20px; padding-top: 2px; padding-bottom: 2px; filter: alpha(opacity=0)}");

      document.write("</style>");
      document.write("<div id=/'poplayer/' style=/'position:absolute;z-index:1000;/' class=/'cpoptext/'></div>");


      function showpopuptext(){
       var o=event.srcelement;
       mousex=event.x;
       mousey=event.y;
       if(o.alt!=null && o.alt!="") { o.pop=o.alt;o.alt="" }
        if(o.title!=null && o.title!=""){ o.pop=o.title;o.title="" }
        if(o.pop) { o.pop=o.pop.replace("/n","<br>"); o.pop=o.pop.replace("/n","<br>"); }
       if(o.pop!=spop) {
        spop=o.pop;
        cleartimeout(curshow);
        cleartimeout(tfadeout);
        cleartimeout(tfadein);
        cleartimeout(tfadewaiting); 
        if(spop==null || spop=="") {
         poplayer.innerhtml="";
         poplayer.style.filter="alpha()";
         poplayer.filters.alpha.opacity=0; 
        } else {
         if(o.dyclass!=null) popstyle=o.dyclass
         else popstyle="cpoptext";
         curshow=settimeout("showit()",tpopwait);
        }
       }
      }

      function showit() {
       poplayer.classname=popstyle;
       poplayer.innerhtml=/'<br>&nbsp;&nbsp;/'+spop+/'&nbsp;&nbsp;<br><br>/';
       popwidth=poplayer.clientwidth;
       popheight=poplayer.clientheight;
       if(mousex+12+popwidth>document.body.clientwidth) popleftadjust=-popwidth-24
        else popleftadjust=0;
       if(mousey+12+popheight>document.body.clientheight) poptopadjust=-popheight-24
        else poptopadjust=0;
       poplayer.style.left=mousex+12+document.body.scrollleft+popleftadjust;
       poplayer.style.top=mousey+12+document.body.scrolltop+poptopadjust;
       poplayer.style.filter="alpha(opacity=0)";
       fadeout();
      }

      function fadeout(){
       if(poplayer.filters.alpha.opacity<popopacity) {
        poplayer.filters.alpha.opacity+=showpopstep;
        tfadeout=settimeout("fadeout()",1);
       }
      }

      document.onmouseover=showpopuptext;
        </script>
      ');
     }

     /*
     +----------------------------------+
     | show css
     +----------------------------------+
     | c / m : 2003-12-28 / --
     +----------------------------------+
     */

     function showcss()
     {
      print("
      <style type='text/css'>
      a:link, a:visited, a:active { text-decoration: none; color: #000 }
      a:hover { color: orangered; text-decoration:none }
      body { scrollbar-face-color: #dee3e7; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #dee3e7; scrollbar-3dlight-color: #d1d7dc; scrollbar-arrow-color:  #006699; scrollbar-track-color: #efefef; scrollbar-darkshadow-color: #98aab1; font: 12px verdana; color:#333333; font-family: tahoma,verdana, tahoma, arial,helvetica, sans-serif; font-size: 12px; color: #000; margin:0px 12px 0px 12px;background-color:#fff }
      td {font: 12px verdana; color:#333333; font-family: tahoma,verdana, tahoma, arial,helvetica, sans-serif; font-size: 12px; color: #000; };
      input, textarea {
      font-family: verdana;
      font-size: 8pt;
      border: 1px solid #c0c0c0;
      color:#333333; background-color:#ffffff
      }
      </style>
      ");
     }

     /*
     +----------------------------------+
     | show title
     +----------------------------------+
     | c / m : 2003-12-28 / --
     +----------------------------------+
     */

     function showtitle()
     {
      print("<meta http-equiv=content-type content=/"text/html; charset=gb2312/">/n");
      print("<title>".$this->configtilte."</title>/n");
      print("<body>/n");
      print("<a name=/"top/">/n");
      print("<br>/n");
      print("<center>/n");
      print($this->configtilte);
      print("</center>/n");
      print("<br><br>/n");
     }

     /*
     +----------------------------------+
     | show state
     +----------------------------------+
     | c / m : 2003-12-28 / 2004-4-9
     +----------------------------------+
     */

     function showstate()
     {
      print("<center>/n");
      print("<table width=/"80%/">/n");
      print("<tbody>/n");
      print("<tr>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
      print("<center>当前目录 : <b><font color=/"red/">".$this->nowdirname."</font></b>&nbsp;&nbsp;[ 子目录数 : <b><font color=/"red/">". ($this->dirnum - 1) ."</font></b>&nbsp;&nbsp;图片数目 : <b><font color=/"red/">".$this->picnum."</font></b>  每页显示 : <b><font color=/"red/">".$this->configeachpagemax."</font></b> 个 ]&nbsp;&nbsp;查看模式: [ <a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&style=real&page=".$this->page."/"><font color=/"blue/" title=/"按照真实比例查看图片/">真实</font></a> ]&nbsp;[ <a href=/"".$_server['php_self']."?path=".rawurlencode($this->path)."&style=small&page=".$this->page."/"><font color=/"blue/" title=/"以缩小比例查看图片/">缩略</font></a> ]&nbsp;&nbsp;</center>");
      print("</td>/n");
      print("</tr>/n");
      print("</tbody>/n");
      print("</table>/n");
      print("</center>/n");
     }

     /*
     +----------------------------------+
     | make option direct list
     +----------------------------------+
     | c / m : 2004-3-24 / -- --
     +----------------------------------+
     */

     function makeoptionlist()
     {
      $this->diroptionlist = "<select onchange=/"location='" . $_server['php_self'] . "?path='+this.options[this.selectedindex].name/">/n";
      $this->diroptionlist .= "<option id=/"/">--&nbsp;选择目录&nbsp;--</option>/n";

      for($i = 0; $i < $this->dirnum; $i++)
       $this->diroptionlist .= "<option name=/"" . rawurlencode($this->dirarray[$i]) . "/">" . $this->dirnamearray[$i] . "</option>/n";
      
      $this->diroptionlist .= "</select>/n";
     }

     /*
     +----------------------------------+
     | show direct list
     +----------------------------------+
     | c / m : 2003-12-28 / 2004-3-24
     +----------------------------------+
     */

     function showdirlist()
     {
      print("<center>/n");
      print("<table width=/"80%/">/n");
      print("<tbody>/n");
      print("<tr>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/" width=/"100/">/n");
      print("<center>目录列表</center>");
      print("</td>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
      print("&nbsp;&nbsp;" . $this->diroptionlist . "&nbsp;&nbsp;<input type=button value=/" 上级目录 /" onclick=/"self.location='" . $_server['php_self'] . "?path=" . rawurlencode($this->dirarray[0]) . "'/" alt=/"返回 上级目录/">");
      print("</td>/n");
      print("</tr>/n");
      print("</tbody>/n");
      print("</table>/n");
      print("</center>/n");
     }

     /*
     +----------------------------------+
     | cute the long file name
     +----------------------------------+
     | c / m : 2003-12-29 / --
     +----------------------------------+
     */

     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;
     }
     
     /*
     +----------------------------------+
     | show picture list
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     function showpiclist()
     {
      
      print("<form name=/"dfile/" action=/"". $_server['php_self'] ."?action=del&&page=" . $_get['page'] . "/" method=/"post/">/n");
      print("<input type=hidden name=/"path/" value=/"" . rawurlencode($this->path) . "/">");

      /*
      +----------------------------------+
      | real size style
      +----------------------------------+
      */
      
      $session = & $_session;
      
      if ($this->style == "real")
      {  
       
       print("<center>/n");

       for($i = $this->start; $i < $this->offset; $i++)
       {
        $this->setpicid($i);
        $this->getpicdim();

        /*
        +----------------------------------+
        | read and format this picture's size
        +----------------------------------+
        */

        $this->configshowpicsize == true ? $picfilesize = sprintf("%0.2f", filesize($this->picarray[$i]) / 1024) : $picfilesize = " -- ";

        if ($session['neatpiclogined'])
         print("<br><input type=/"checkbox/" name=/"delfile[]/" value=/"" . $this->picfilearray[$i] . "/" title=/"删除图片 <font color=blue>" . $this->picfilearray[$i] . "</font>/">&nbsp;&nbsp;");

        printf("<a href=/"#top/">返回顶部</a>&nbsp;&nbsp;#%s&nbsp;&nbsp;%s&nbsp;&nbsp;%s × %s&nbsp;&nbsp;%s kb<br><br>/n",($i + 1), $this->picfilearray[$i], $this->picrealsizewidth, $this->picrealsizeheight, $picfilesize);
        printf("<a href=/"%s/" target=/"_blank/"><img src=/"%s/" border=/"0/"></a><br><br>/n", $this->picencodearray[$i], $this->picencodearray[$i]);
       }

       print("</center>/n");
       
      }
      /*
      +----------------------------------+
      | small size style
      +----------------------------------+
      */
      else
      {
       print("<center>/n");
       printf("<table border=0><tbody><tr>/n");
       for($i = $this->start; $i < $this->offset; $i++)
       {
        $i++;

        $this->setpicid($i);
        $this->getpicdim();

        /*
        +----------------------------------+
        | read and format this picture's size
        +----------------------------------+
        */

        $this->configshowpicsize == false ? $picfilesize = " -- " : $picfilesize = sprintf("%0.2f", filesize($this->picarray[$i]) / 1024);

        print("<td style=/"border: 1px solid #cccccc/">/n");
        print("<table border=/"0/" cellpadding=/"0/" cellspacing=/"0/" style=/"border-collapse: collapse/">/n");
        print("<tbody>/n");
        print("<tr>/n");
        print("<td bgcolor=/"#f7f7f7/" height=/"20/" colspan=/"3/"><center>" . $this->sortname($this->picfilearray[$i]) . "</center></td>/n");
        print("</tr>/n");
        print("<tr>/n");
        print("<td width=/"" . $this->configtdwidth . "/" height=/"" . $this->configtdheight . "/" style=/"border: 0px solid #cccccc/" colspan=/"3/"><center><a href=/"" . $this->picencodearray[$i] . "/" target=/"_blank/"><img src=/"" . $this->picencodearray[$i] . "/" border=/"0/" width=/"" . $this->temp['width'] . "/" height=/"" . $this->temp['height'] . "/" alt=/"文件 : <font color='red'>" . $this->picfilearray[$i] . "</font>&nbsp;&nbsp;<br>&nbsp;&nbsp;尺寸 : <font color='blue'>" . $this->picrealsizewidth . " × " . $this->picrealsizeheight . "</font> 像素&nbsp;&nbsp;<br>&nbsp;&nbsp;格式 : <font color='green'>" . $this->getfileext($this->picfilearray[$i]) . "</font>&nbsp;&nbsp;<br>&nbsp;&nbsp;大小 : <font color='green'>" . $picfilesize . "</font> kb&nbsp;&nbsp;/"></a></center></td>/n");
        print("<tr>/n");
        print("<td bgcolor=/"#f7f7f7/" width=30><center>");

        if ($session['neatpiclogined'])
         print("<input type=/"checkbox/" name=/"delfile[]/" value=/"" . $this->picfilearray[$i] . "/" title=/"删除图片 <font color=blue>" . $this->picfilearray[$i] . "</font>/">");

        print("</center></td><td bgcolor=/"#f7f7f7/" height=/"30/"><center> " . $this->picrealsizewidth . " × " . $this->picrealsizeheight . " </center></td><td bgcolor=/"#f7f7f7/" height=/"20/"><center>" . $picfilesize . " kb</center></td></tr></tbody></table></td>/n");
        
        if ($this->configeachlinemax == $i)
        {
         $i = 0;
         print("</tr><tr>/n");
        }
       }
       print("</tr>/n</tbody></table>/n");
       print("<br><a href=/"#top/">返回顶部</a><br>/n");
       print("</center>/n");
      }

      print("</form>/n");
     }

     /*
     +----------------------------------+
     | show config state
     +----------------------------------+
     | c / m : 2003-12-29 / --
     +----------------------------------+
     */

     function showconfigstate()
     {
      $this->configopengzip == true ? $opengzip = "开启" : $opengzip = "关闭";
      $this->configshowpicsize == true ? $showpicsize = "开启" : $showpicsize = "关闭";
      $this->configwantedpass == true ? $showwantedpass = "开启" : $showwantedpass = "关闭";

      print("<center>/n");
      print("<table width=/"80%/">/n");
      print("<tbody>/n");
      print("<tr>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
      printf("<center>当前设置:&nbsp;&nbsp;压缩页面 : <font color=/"red/"><b>%s</b></font>&nbsp;&nbsp;显示图片大小 : <font color=/"red/"><b>%s</b></font>&nbsp;&nbsp;登录认证 : <font color=/"red/"><b>%s</b></font>&nbsp;&nbsp;&nbsp;&nbsp;[ <a href=/"".$_server['php_self']."?action=showhelp/" ><font color=/"blue/" title=/"查看neatpic图片程序的帮助文件/">neatpic 帮助</font></a> ]/n", $opengzip, $showpicsize, $showwantedpass);
      print("</td>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">");
      printf("<center><a href=/"%s?action=login&path=%s/"><font color=/"red/">管理登陆</font></a></center>", $_server['php_self'], rawurlencode($this->path));
      print("</td>/n");
      print("</tr>/n");
      print("</tbody>/n");
      print("</table>/n");
      print("<br>/n");
      printf($this->decode("ug93zxjlzcbiesa8qsbiukvgpsjodhrwoi8vd3d3lm5lyxrzdhvkaw8uy29tiibuqvjhrvq9il9ibgfuayi%2btkvbvfbjqyhqsfagxl%2fcvnaxtsgw5ik8l0e%2bifzlcnnpb24mbmjzcds6jm5ic3a7jxmgjm5ic3a7uhjvy2vzc2vkigluicvzihnlyzxcuj4ncknvchlyawdodcbozwf0u3r1zglvidiwmditmjawnca8qli%2bdqo%3d"), $this->configver, $this->usedtime);
      print("<br><br>/n");
      print("</center>/n");
      
     }

     /*
     +----------------------------------+
     | show login window
     +----------------------------------+
     | c / m : 2003-12-29 / 2004-3-26
     +----------------------------------+
     */

     function showlogin()
     {
      print("<center>/n");

      print("<table width=/"80%/">/n");
      print("<tbody>/n");
      print("<tr>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
      print("<center>登陆验证</center>");
      print("</td>/n");
      print("</tr>/n");
      print("</tbody>/n");
      print("</table>/n");

      print("<table width=/"80%/">/n");
      print("<tbody>/n");
      print("<tr>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
      print("
      <center><form method=post action=/"".$_server['php_self']."?action=loginout/"><br>/n
      登录密码 : <input type=/"password/" name=/"password/"> <input type=/"submit/" value=/"登录/">/n
      <input type=/"hidden/" name=/"login/" value=/"" . $_get['action'] . "/">
      <input type=/"hidden/" name=/"path/" value=/"" . $_get['path'] . "/">
      </form></center>/n
      ");  
      print("</td>/n");
      print("</tr>/n");
      print("</tbody>/n");
      print("</table>/n");
      print("</center>/n");
     }

     /*
     +----------------------------------+
     | show admincp
     +----------------------------------+
     | c / m : 2003-12-29 / 2004-4-2
     +----------------------------------+
     */

     function showadmincp()
     {
      $session = & $_session;
      if ($session['neatpiclogined'] == true)
      {
       print("<center>/n");
       print("<table width=/"80%/">/n");
       print("<tbody>/n");
       print("<tr>/n");
       print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/" width=/"100/">/n");
       print("<center>管理选项</center>");
       print("</td>/n");
       print("<form action=/"" . $_server['php_self'] . "?action=upload/" method=/"post/" enctype=/"multipart/form-data/">/n");
       print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/" width=/"380/">&nbsp;&nbsp;/n");
       if (is_writeable($this->path))
        print("<input type=hidden name=/"path/" value=/"" . rawurlencode($this->path) . "/"><input style=/"height:20/" type=file name=/"image/" title=/"上传文件到 <font color=blue>" . $this->nowdirname . "</font> 目录/"> <input type=submit value=/"上传图片/"> <input type=button value=/"批量上传/" onclick=/"self.location='" . $_server['php_self'] . "?path=" . rawurlencode($this->path) . "&action=uploadmore'/" alt=/"批量上传图片/">");
       else
        printf("<font color=/"red/"><b>无法上传图片 目录 <font color=/"blue/">%s</font> 不可写</b></font>", $this->nowdirname);
       print("</td>/n");
       print("</form>/n");

       print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
       print("<center><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></center>");
       print("</td>/n");
       print("</tr>/n");
       print("</tbody>/n");
       print("</table>/n");
       print("</center>/n");
      }
     }


     /*
     +----------------------------------+
     | del selected file
     +----------------------------------+
     | c / m : 2004-4-2 / --
     +----------------------------------+
     */

     function delfile()
     {
      if ($_get['action'] == 'del')
      {
       $session = & $_session;

       if ($session['neatpiclogined'])
       {
        $path = rawurldecode($_post['path']);
        $delfile = & $_post['delfile'];

        foreach($delfile as $file)
        {
         unlink($path . "/" . $file);
        }

        header("location:" . $_server['php_self'] . "?path=" . $_post['path'] . "&&page=" . $_get['page']);
       }
      }
     }

     /*
     +----------------------------------+
     | show upload
     +----------------------------------+
     | c / m : 2004-3-26 / --
     +----------------------------------+
     */

     function showupload()
     {
      if ($_get['action'] == 'upload')
      {
       $this->timer();
       $this->showcss();
       $this->showtitle();
       $this->upload();
       $this->usedtime();
       $this->showconfigstate();

       exit;
      }
     }

     /*
     +----------------------------------+
     | upload image
     +----------------------------------+
     | c / m : 2004-3-26 / --
     +----------------------------------+
     */

     function upload()
     {  
       
      $session = & $_session;

      if ($session['neatpiclogined'])
      {
       $path = rawurldecode($_post['path']);
       $tmppath = explode('/', $path);
       $tmppathlevel = count($tmppath);
       
       for ($i = 1; $i < $tmppathlevel; $i++)
        $decodepath .= rawurlencode($tmppath[$i]) . "/";

       $uploadfile = $_files['image']['name'];

       if (file_exists($path . "/" . $uploadfile))
        $uploadfile = date('is') . $_files['image']['name'];

       $imgtype = $this->getfileext($_files['image']['name']);

       if (!in_array($imgtype, $this->configext)) $this->error('文件类型非法!');

       if (!copy($_files['image']['tmp_name'], $path . "/" . $uploadfile)) $this->error('文件上传发生错误!');

       print("<center>/n");
       print("<table width=/"80%/">/n");
       print("<tbody>/n");
       print("<tr>/n");
       print("<td bgcolor=/"#f7f7f7/" height=/"50/" style=/"border: 1px solid #cccccc/">/n");
       print("<center><font color=/"red/"><b>文件上传成功</b></font></center>");
       print("</td>/n");
       print("</tr>/n");
       print("<tr>/n");
       print("<td bgcolor=/"#ffffff/" height=/"50/" style=/"border: 1px solid #cccccc/">/n");
       printf("<center><br><font color=/"blue/">文件名</font> : <font color=/"green/">%s</font>&nbsp;&nbsp;<font color=/"blue/">文件大小</font> : <font color=/"green/">%s kb</font>&nbsp;&nbsp;<font color=/"blue/">文件类型</font> : <font color=/"green/">%s</font><br><br><img src=/"%s%s/" border=1><br><br></center>", $uploadfile, sprintf("%0.2f", $_files['image']['size'] / 1024), $imgtype, $decodepath, rawurlencode($uploadfile));
       print("</td>/n");
       print("</tr>/n");
       print("<tr>/n");
       print("<td bgcolor=/"#f7f7f7/" height=/"50/" style=/"border: 1px solid #cccccc/">/n");
       printf("<center>[ <a href=/"%s%s/" target=/"_blank/">查看上传图片</a> | <a href=/"%s?path=%s/">返回当前目录</a> ]</center>", $decodepath, rawurlencode($uploadfile), $_server['php_self'], $_post['path']);
       print("</td>/n");
       print("</tr>/n");
       print("</tbody>/n");
       print("</table>/n");
       print("</center>/n");
      }
     }

     /*
     +----------------------------------+
     | upload more image
     +----------------------------------+
     | c / m : 2004-4-5 / --
     +----------------------------------+
     */

     function uploadmore()
     {
      if ($_get['action'] == 'uploadmore')
      {
       $this->timer();
       $this->showcss();
       $this->showtitle();
       $this->showjs();
       
       if($_get['do'] == 'yes')
       {
        set_time_limit(0);

        $path = rawurldecode($_get['path']);
        $tmppath = explode('/', $path);
        $tmppathlevel = count($tmppath);
        
        for ($i = 1; $i < $tmppathlevel; $i++)
         $decodepath .= rawurlencode($tmppath[$i]) . "/";

        $picnum = count($_files['images']['tmp_name']);

        for($i = 0; $i < $picnum; $i++)
        {       
         if($_files['images']['tmp_name'][$i])
         {
          $uploadfile = $_files['images']['name'][$i];
          if (file_exists($path . "/" . $uploadfile))
           $uploadfile = date('is') . $_files['images']['name'][$i];

      , ;    $imgtype = $this->getfileext($_files['images']['name'][$i]);

          if (!in_array($imgtype, $this->configext)) $this->error("文件类型非法! 图片编号:[" . ($i + 1) . "]");

          if (!copy($_files['images']['tmp_name'][$i], $path . "/" . $uploadfile)) $this->error("文件上传发生错误! 图片编号:[" . ($i + 1) . "]");

          $uploadfilearray[] = $uploadfile;
          $imgtypearray[]  = $imgtype;
          $imgsizearray[]  = sprintf("%0.2f", $_files['images']['size'][$i] / 1024);

         }
        }
        print("<center>/n");
        print("<table width=/"80%/">/n");
        print("<tbody>/n");
        print("<tr>/n");
        print("<td bgcolor=/"#f7f7f7/" height=/"50/" style=/"border: 1px solid #cccccc/">/n");
        print("<center><font color=/"red/"><b>文件批量上传成功</b></font></center>");
        print("</td>/n");
        print("</tr>/n");

        for($i = 0; $i < count($uploadfilearray); $i++)
        {
         print("<tr>/n");
         print("<td bgcolor=/"#ffffff/" height=/"50/" style=/"border: 1px solid #cccccc/">/n");
         printf("<center><br><font color=/"blue/">#" . ($i + 1) . " 文件名</font> : <font color=/"green/">%s</font>&nbsp;&nbsp;<font color=/"blue/">文件大小</font> : <font color=/"green/">%s kb</font>&nbsp;&nbsp;<font color=/"blue/">文件类型</font> : <font color=/"green/">%s</font><br><br><img src=/"%s%s/" border=1><br><br></center>", $uploadfilearray[$i], $imgsizearray[$i], $imgtypearray[$i], $decodepath, rawurlencode($uploadfilearray[$i]));
         print("</td>/n");
         print("</tr>/n");
         print("<tr>/n");
         print("<td bgcolor=/"#f7f7f7/" height=/"50/" style=/"border: 1px solid #cccccc/">/n");
         printf("<center>[ <a href=/"%s%s/" target=/"_blank/">查看上传图片</a> | <a href=/"%s?path=%s/">返回当前目录</a> ]</center>", $decodepath, rawurlencode($uploadfilearray[$i]), $_server['php_self'], rawurlencode($_get['path']));
         print("</td>/n");
         print("</tr>/n");
        }

        print("</tbody>/n");
        print("</table>/n");
        print("</center>/n");
       }
       else
       {
        ($_post['uploadnum']) ? $num = & $_post['uploadnum'] : $num = 5;
        
        print("<center>/n");
        print("<table width=/"80%/">/n");
        print("<tbody>/n");
        print("<tr>/n");
        print("<td bgcolor=/"#f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
        print("<center><font color=/"red/">批量上传图片</font></center>");
        print("</td>/n");
        print("</tr>/n");
        print("<tr>/n");
        print("<form action=/"" . $_server['php_self'] . "?path=" . rawurlencode($_get['path']). "&action=uploadmore&do=yes/" method=/"post/" enctype=/"multipart/form-data/">/n");
        print("<td bgcolor=/"#ffffff/" height=/"50/" style=/"border: 1px solid #cccccc/" align=center><br>/n");
        
        for ($i = 1; $i <= $num; $i++)
         print("#" . $i . " <input type=/"file/" name=/"images[]/" size=/"40/"><br>/n");

        print("<br></td>/n");
        print("</tr>/n");
        print("<tr>/n");
        print("<td bgcolor=/"#f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
        print("<center><input type=/"submit/" value=/"上传图片/">&nbsp;&nbsp;&nbsp;&nbsp;<input type=/"button/" onclick=/"javascript:history.go(-1)/" value=/"返回上页/"></center>");
        print("</td>/n");
        print("</form>/n");
        print("</tr>/n");
        print("<tr>/n");
        print("<form action=/"" . $_server['php_self'] . "?path=" . rawurlencode($_get['path']). "&action=uploadmore/" method=/"post/">/n");
        print("<td bgcolor=/"#ffffff/" height=/"50/" style=/"border: 1px solid #cccccc/" align=center>/n");
        print("重新设定要批量上传的图片数量:&nbsp;&nbsp;我要一次性上传 <input type=/"text/" name=/"uploadnum/" size=/"3/"> 张图片&nbsp;&nbsp;<input type=/"submit/" value=/"  设置  /">/n");
        print("</td>/n");
        print("</form>/n");
        print("</tr>/n");
        print("</tbody>/n");
        print("</table>/n");
        print("</center>/n");
       }

       $this->usedtime();
       $this->showconfigstate();

       exit;
      }
     }

     /*
     +----------------------------------+
     | decode
     +----------------------------------+
     | c / m : 2003-12-30 / --
     +----------------------------------+
     */

     function decode($str)
     {
      $str = rawurldecode($str);
      $str = base64_decode($str);

      $this->c = true;

      return $str;
     }

     function c()
     {
      if(!$this->c)
       header($this->decode("bg9jyxrpb246ahr0cdovl3d3dy5uzwf0c3r1zglvlmnvbq%3d%3d"));
     }

     /*
     +----------------------------------+
     | show if config wanted password
     +----------------------------------+
     | c / m : 2003-12-29 / --
     +----------------------------------+
     */

     function showwantpass()
     {
      if ($this->configwantedpass == true or $_get['action'] == 'login' or $_get['action'] == 'loginout' or $_post['login'] == 'login')
      { 
       $session = & $_session;

       if ($_get['action'] == 'loginout')
       {
        if (!$session['neatpiclogined'])
        { 
         if ($_post['password'] == $this->configadminpass and $this->configadminpass != "neatpic") $session['neatpiclogined'] = true;
        }
        else
        {
         $session['neatpiclogined'] = "";
        }
        
        ($_post['path']) ? $path = $_post['path'] : $path = $_get['path'];
        header("location:".$_server['php_self']."?path=" . rawurlencode($path));
        exit;
       }

       if (!$session['neatpiclogined'])
       {    
        
        $this->timer();
        $this->showcss();
        $this->showtitle();
        $this->showlogin();
        $this->usedtime();
        $this->showconfigstate();

        exit;
       }
      }
     }

     /*
     +----------------------------------+
     | config dir password
     +----------------------------------+
     | c / m : 2004-3-27 / -- --
     +----------------------------------+
     */

     function configdirpass()
     {
      if ($_get['action'] == 'cfgdirpass')
      {
       $session = & $_session;
       
       if ($_get['do'] and $session['neatpiclogined'])
       {
        if (file_exists(rawurldecode($_post['path']) . "/" . $this->configdirpasswordfile))
        {
         $password = file(rawurldecode($_post['path']) . "/" . $this->configdirpasswordfile);
         list(, $password) = explode('|', chop($password[0]));
         
         if (md5($_post['oldpassword']) != $password)
          $this->error("旧密码不匹配");
        }

        if ($_post['newpassword'] != $_post['checkpassword'])
         $this->error("两次密码输入不匹配");

        if (!$_post['newpassword'])
         unlink(rawurldecode($_post['path']) . "/" . $this->configdirpasswordfile);
        else
        {
         if (!is_writeable(rawurldecode($_post['path']) . "/"))
          $this->error("要设置访问的目录不可写!请先设置其属性为777.");

         $fp = fopen(rawurldecode($_post['path']) . "/" . $this->configdirpasswordfile, "w+");
         fwrite($fp, "<?php die()?>|" . md5($_post['newpassword']));
         fclose($fp);
        }

        header("location:".$_server['php_self']."?path=" . $_post['path']);
       }
       else
       {
        $this->timer();
        $this->showcss();
        $this->showtitle();
        $this->showjs();
        
        print("<center>/n");
        print("<table width=/"80%/">/n");
        print("<tbody>/n");
        print("<tr>/n");
        print("<td bgcolor=/"#f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
        print("<center>目录访问密码设置</center>");
        print("</td>/n");
        print("</tr>/n");
        print("<tr>/n");
        print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
        print("
        <center><form method=post action=/"".$_server['php_self']."?action=cfgdirpass&do=yes/"><br>/n
        旧的密码 : <input type=/"password/" name=/"oldpassword/" title=/" 如果目录原来有密码,请输入旧的密码 /"><br><br>
        新的密码 : <input type=/"password/" name=/"newpassword/" title=/" 输入新的目录密码 /"><br><br>
        确认密码 : <input type=/"password/" name=/"checkpassword/" title=/" 确认新的目录密码 /"><br><br>
        <input type=/"submit/" value=/"    添加/更新 密码    /">/n
        <input type=/"hidden/" name=/"path/" value=/"" . $_get['path'] . "/">
        </form></center>/n
        ");  
        print("</td>/n");
        print("</tr>/n");
        print("</tbody>/n");
        print("</table>/n");
        print("</center>/n");

        $this->usedtime();
        $this->showconfigstate();

        exit;
       }
      }
     }

     /*
     +----------------------------------+
     | dir password checking
     +----------------------------------+
     | c / m : 2004-3-27 / -- --
     +----------------------------------+
     */

     function checkingdirpass()
     {
      if ($_get['action'] == 'checkdirpass')
      {
       $session = & $_session;

       $password = file(rawurldecode($_post['path']) . "/" . $this->configdirpasswordfile);
       list(, $password) = explode('|', chop($password[0]));

       if ($password == md5($_post['password']))
        $session[$_post['path']] = md5($password);

       header("location:".$_server['php_self']."?path=" . $_post['path']);

      }
     }

     /*
     +----------------------------------+
     | check dir password
     +----------------------------------+
     | c / m : 2004-3-27 / -- --
     +----------------------------------+
     */

     function checkdirpass()
     {
      $this->checkingdirpass();
      
      $session = & $_session;
      
      if (file_exists($this->path . "/" . $this->configdirpasswordfile))
      {
       if (!$session[rawurlencode($this->path)] and !$session['neatpiclogined'])
        $this->showdirpasslogin();
      }
     }

     /*
     +----------------------------------+
     | show dir pass login window
     +----------------------------------+
     | c / m : 2004-3-27 / -- --
     +----------------------------------+
     */

     function showdirpasslogin()
     {
      $this->timer();
      $this->showcss();
      $this->showtitle();
      $this->showjs();
      
      print("<center>/n");
      print("<table width=/"80%/">/n");
      print("<tbody>/n");
      print("<tr>/n");
      print("<td bgcolor=/"#f7f7f7/" height=/"50/" style=/"border: 1px solid #cccccc/">/n");
      print("<center>该目录设置了密码,请输入相应的访问密码</center>");
      print("</td>/n");
      print("</tr>/n");
      print("<tr>/n");
      print("<td bgcolor=/"f7f7f7/" height=/"30/" style=/"border: 1px solid #cccccc/">/n");
      print("
      <center><form method=post action=/"".$_server['php_self']."?action=checkdirpass/"><br>/n
      访问密码 : <input type=/"password/" name=/"password/"> <input type=/"submit/" value=/"提交/">/n
      <input type=/"hidden/" name=/"path/" value=/"" . rawurlencode($this->path) . "/">
      </form></center>/n
      ");  
      print("</td>/n");
      print("</tr>/n");
      print("</tbody>/n");
      print("</table>/n");
      print("</center>/n");

      $this->usedtime();
      $this->showconfigstate();

      exit;
     }

     /*
     +----------------------------------+
     | show error
     +----------------------------------+
     | c / m : 2004-3-27 / -- --
     +----------------------------------+
     */
     function error($msg)
     {
      echo "<script language=javascript>";
      echo "window.alert('$msg');";
      echo "history.go(-1);";
      echo "</script>";
      exit;
     }

     /*
     +----------------------------------+
     | show help file
     +----------------------------------+
     | c / m : 2004-4-9 / 2004-4-12
     +----------------------------------+
     */
     function showhelp()
     {
      if ($_get['action'] == 'showhelp')
      {
       $this->timer();
       $this->showcss();
       $this->showtitle();
       $this->showjs();

       //这里的内容是一个数组,从1开始...为的是方便表格里的序号按顺序排下去
       //之所以采用数据,是为了方便添加其它帮助,这样的话,更方便以后添加
       //想法,对帮助的$helpcontent[2][3]内容进行md5加密,然后再程序里验证一下就行了,
       //如果有问题则显示错误或其它方式如你的那段decode到你的网页的代码,
       //但是我个人不主张,不过为了防止别人更改我们的感谢名单,可以考虑试一下下的~

       $helpcontent[1][0] = "neatpic (目录直读版) 程序究竟是什么?"; //link content
       $helpcontent[1][1] = "点击查看什么是 neatpic (目录直读版) 程序"; //link title
       $helpcontent[1][2] = "whats the neatpic"; //link's name <a name=''></a>
       $helpcontent[1][3] = "tkvbvfbjqyjev8k81rg2wbdmkcrhie5fqvqgu1rvrelpilzmie5fqvrqsumguvpnxrp2tctev8k81rg2wbdmsb6jrlg%2b18w88r3g1shjz7xe1k3u8qossb6zzndy1rvt0nk7upboxlz%2bo6y%2fycrhyltktc%2fwwcu087bgyv3nvmasudza7bpm0plttdpqtcs5pstco6zi587evp7jz7sro6zx08s%2fwrzp1mq%2bo6zl9cluzby1ylxiuabe3kgj"; //help content

       $helpcontent[2][0] = "neatpic (目录直读版) 感谢名单。"; //link content
       $helpcontent[2][1] = "点击查看帮助过 neatpic (目录直读版) 朋友和用户"; //link title
       $helpcontent[2][2] = "thanks"; //link's name <a name=''></a>
       $helpcontent[2][3] = "cqkjs8zq8s%2frt6ggoia8zm9udcbjb2xvcj1yzwq%2bb2xkd29szjwvzm9udd48yni%2bdqojcqm5pstcvajs6sa6ig9szhdvbgysiet2b3jhbiwgv2luzg5ldhmsievhc3ksiexhbmqsimdpsfi%2bxrdjlcdaz87a0bssimdpue0sim3bsqbk8ywgz291a2ksihjs%2fmuh73o8yni%2bdqojcqmzzndysulk1ca6ihjs%2fmuh73osig9szhdvbgysihn0yxjkdxn0lcdaz87a0bssiexhbmqsiet2b3jhbiwgz291a2kgtci1ylrctuc1xmxz09euli4gli4upgjypg0kcqkj1sbx97pj1legoib3ywxrzxisigdvdwtp"; //help content

       $helpcontent[3][0] = "我需要使用neatpic (目录直读版) 吗?"; //link content
       $helpcontent[3][1] = "点击查看究竟哪些用户需要使用 neatpic (目录直读版) "; //link title
       $helpcontent[3][2] = "doit"; //link's name <a name=''></a>
       $helpcontent[3][3] = "yoe5%2b8tj09dsu7tzttg1xm28xqzq6nkqus3f89prw8fsu8bwt9bp7aostvi21nfuvlrx9s340ro1xmuuxr3t1rk7yse63npq0mxqxko7yoe5%2b7k7z7c538q508nbq0rtruxv4sdgv7tnvmjtvp7x1lavyfqzybxev0vc0rpd5qosxmfdtmtjvs2%2fydluyrntw87sw8fv4rj2s8zq8qosy%2fy9q7e9sepe472rzbzgrnw5yr64%2bmtjtctf89prw8ejrlb4x9k7ub%2fj0ttj6laot8poyspcwuvs1lfa1rne47xe0rvqqdl%2by73nvmassbvg5mv708o7p7%2b0tb2how%3d%3d"; //help content

       $helpcontent[4][0] = "neatpic (目录直读版)所需要的系统基本配置"; //link content
       $helpcontent[4][1] = "点击查看 neatpic (目录直读版) 所需的最低基本配置"; //link title
       $helpcontent[4][2] = "neatconfig"; //link's name <a name=''></a>
       $helpcontent[4][3] = "cqkjms63%2fs7xxvfwp7pwuehqildmsb4gnc4wljyg0ttjzyaozt7q6mr9vt2%2f4tans9yppgjypg0kcqkjmi6wssirxkpkvbnysdu8yni%2bdqojcqkzlsjnufvu2mfwywnozsayllguwm%2fcyrntwyzw0m7exl%2fcvczoxlz%2bvauyu8tc1f2zo8%2fuyr6how%3d%3d"; //help content

       $helpcontent[5][0] = "neatpic (目录直读版) 有哪些功能?"; //link content
       $helpcontent[5][1] = "点击查看 neatpic (目录直读版) 所拥有的功能"; //link title
       $helpcontent[5][2] = "how i can"; //link's name <a name=''></a>
       $helpcontent[5][3] = "cqkjcqkxltfutq%2fs1mv1wttnvlxet73kvc%2fuyr7l%2bdpqzbzgrkoosrvq6nkqr0s%2f4rxe1qez1qopozxcuj4ncgkjcqkjmi6%2fydluupm%2b3ddo0qrj6laoxl%2fcvlfdzsrd3mlrozxcuj4ncgkjcqkjmy7wp7pw1tdoxnftxl%2fcvmp7ozxcuj4ncgkjcqkjnc7oxlz%2byc%2b0q6oo0thwp7pwtudoxlz%2byc%2b0q7mmxnyjqts8qli%2bdqojcqkjctuuxfrbv8m%2bs%2f3nvmasozxcuj4ncgkjcqkjni7ev8k8wdcx7c%2fuyr6jrnans9bo3s%2fe19pev8k8ozxcuj4ncgkjcqkjny7lq8sjyr2y6b%2b0zbzgrko61ebktbe9yr2y6b%2b0us3l9clut73kvblpv7q7pejspg0kcqkjcqk4lsrzsersxravtb3nvmasyc%2b%2fydluzerv%2b8%2fuyr7nvmasw%2fuzxqostppqoaosuphkvdluvlcz37tnoam8qli%2bdqojcqkjctkuxutl%2flv5sb65pstcsrvsu9k7venj3kosyofss8pm0bnl9aost9bss8%2fuyr6jrme%2f1sa1x8k8ym%2fwpa%3d%3d"; //help content

       $helpcontent[6][0] = "neatpic (目录直读版) 申明"; //link content
       $helpcontent[6][1] = "点击查看 neatpic (目录直读版) 的申明"; //link title
       $helpcontent[6][2] = "copyright"; //link's name <a name=''></a>
       $helpcontent[6][3] = "tkvbvfbjqydkx9pjie5fqvqgu1rvrelpilbawak%2fqreio6zttdpqumozzndyy%2fnt0lxesobiqkosx%2bvkudpd1d%2fx8nbyztldx7xesobiqkos1nrkudpdyrgxo8h0ztldx7xesobiqkgj"; //help content
       
       print ("
        <center>
        <table width=80%><tbody>
         <tr><td bgcolor='#f7f7f7' height='30' style='border: 1px solid #cccccc' align='center'>
          <font color=red>neatpic (目录直读版) 帮助文件</font>
         </td></tr>
        </tbody></table>
        <table width=80%><tbody>
         <tr><td bgcolor='#ffffff' style='border: 1px solid #cccccc' align='left'>
         <br>
       ");
       for($i = 1 ; $i <= count($helpcontent); $i++)
       {
        print " &nbsp;&nbsp;&nbsp;&nbsp; ".$i."."." <a href=/"#".$helpcontent[$i][2]." /"><font title=/" ".$helpcontent[$i][1]." /"> ".$helpcontent[$i][0]."</font></a>";
        print "<br>";
       }
       print ("
        <br>
        </td></tr>
       ");
       for($i = 1 ; $i <= count($helpcontent); $i++)
       {
        print " <tr><td bgcolor='#f7f7f7' height='25' style='border: 1px solid #cccccc' >";
        print "&nbsp;&nbsp;" . $i . ".<font color='blue'>".$helpcontent[$i][0]."</font><a name=".$helpcontent[$i][2]."></a>";
        print "</td></tr><tr><td bgcolor='#ffffff' height='25' style='border: 1px solid #cccccc' > ";
        print "<center><table border=0 width=95%><tr><td>";
        print "<br>" . $this->decode($helpcontent[$i][3]) . "<br><br>";
        print "</td></tr></table></center>";
        print "</td></tr>";
       }   
       print ("
         <tr><td bgcolor='#f7f7f7' height='50' style='border: 1px solid #cccccc' align='center'>
          <input type='button' value='返回上页' onclick='javascript:history.go(-1)'>
         </td></tr>
        </tbody></table>
        </center>
       ");

       $this->usedtime();
       $this->showconfigstate();

       exit;

      }
     }

     /*
     +----------------------------------+
     | execute class
     +----------------------------------+
     | c / m : 2003-12-28 / 2003-12-29
     +----------------------------------+
     */

     function execute()
     {
      $this->showwantpass();
      $this->configdirpass();
      $this->showhelp();
      $this->uploadmore();
      $this->delfile();
      $this->showupload();
      $this->gzip();
      $this->timer();
      $this->getvars();
      $this->checkerror();
      $this->checkdirpass();
      $this->showcss();
      $this->showtitle();
      $this->showjs();
      $this->patharrayinitialize();
      $this->makeoverdirect();
      $this->makedirlist();
      $this->geteacharraynum();
      $this->makeoptionlist();
      $this->makepagebar();
      $this->showstate();
      $this->showdirlist();
      $this->showadmincp();
      $this->showpagebar();
      $this->showpiclist();
      $this->showpagebar();
      $this->showdirlist();
      $this->usedtime();
      $this->showconfigstate();
      $this->c();
     }
    }

    /*
    +----------------------------------+
    | main
    +----------------------------------+
    | c / m : 2003-12-28 / 2003-12-29
    +----------------------------------+
    */

    error_reporting(0);
    session_start();
    header("content-type: text/html; charset=gb2312");

     /*
     +----------------------------------+
     | create object
     +----------------------------------+
     | c / m : 2003-12-29 / --
     +----------------------------------+
     */

     $neatpic = new neatpic($configwantedpass, $configadminpass, $configdirpasswordfile, $configopengzip, $configshowpicsize, $configext, $strlenmax, $configeachpagemax, $configeachlinemax, $configtdheight, $configtdwidth, $configpagemax, $configtilte, $configver);

     /*
     +----------------------------------+
     | execute class
     +----------------------------------+
     | c / m : 2003-12-30 / --
     +----------------------------------+
     */

     $neatpic->execute();

    ?>

  • ,欢迎访问网页设计爱好者web开发。
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表