此代码不可独立运行,需替换形如&&&ver_id&&&部分后用eval函数执行或替换后生成新文件<?php
include("../../includes/config.php");
$ver_id=&&&ver_id&&&;
$userid=&&&userid&&&;
$mod=&&&mod&&&;
$exptime=&&&exptime&&&;
///////////////////////////////////////
本节等价于 $nowtime=date("Ymd");
纯属没事找事
$date = getdate();
$yy = $date['year'];
$dd= $date['mday'];
$mm= $date['mon'];
    if($mm<10){
$mm="0".$mm;
}
if($dd<10){
$dd="0".$dd;
}
$nowtime=$yy.$mm.$dd;////////////////////////////////////////
本节使用的部分变量与常量,应该在 ../../includes/config.php 中定义
由于楼主未贴出,无法细解
大意是读取一个文件,
去除其中的php标记;紧缩无用的空格;调整图片路径
输出或写入文件if($nowtime>$exptime && $LOOK!="ok"){
header("location:../../exp.htm");
}
if($file==""){
$file="index.php3";
}
if(isset($REF_PAGE)){
  $refpage=$REF_PAGE;
  $direct="N";
}else{
  $direct="Y";
}
$opendir="$baseurl/mod/$mod/";
$openfile=$opendir.$file;
$openfile=$openfile."?kdir=$kdir&nowdir=$nowdir&userid=$userid&id=$id&detail=$detail";
if($QUERY_STRING==""){
  $filestring="file=index.php3.htm";
}else{
  $filestring=$QUERY_STRING.".htm";
}
  setcookie("REF_PAGE",$filestring);
$kk=3;
if(file_exists($filestring)){
  $fx=fopen($filestring,"r");
  $pp=fgets($fx,100);
  fclose($fx);  if(trim($pp)=="<!-- $ver_id -->"){
     include($filestring);
     
  }else{
     $kk=1; 
  }
}else{
  if($filestring=="file=index.php3.htm"){
     $kk=1;
   }elseif($direct=="Y"){
     $kk=0;
   }else{
     if(file_exists($refpage)){
       $ffp=fopen($refpage,"r");
       $fcon=fread($ffp,120000);
       if(strstr($fcon,$QUERY_STRING.">")){
          $kk=1;
       }else{
          $kk=0;
       }
       fclose($ffp);
     }else{
       $kk=0;
     }   }
}if($kk==0){
  $fd=fopen($openfile,"r");
  $con = fread($fd,120000);
  $con=str_replace("images/","$opendir/images/",$con);
  $con=str_replace("<?","",$con);
  $con=str_replace("<%","",$con);
  $con=str_replace("language=php","",$con);
  $con=str_replace("language='php'","",$con);
  $con=str_replace('language="php"','',$con);
  fclose($fd);
  echo "$con";
}
if($kk==1){
  $fd=fopen($openfile,"r");
  $con = fread($fd,120000);
  $con=str_replace("images/","$opendir/images/",$con);
  fclose($fd);
  $con=str_replace("<?","",$con);
  $con=str_replace("<%","",$con);
  $con=str_replace("language=php","",$con);
  $con=str_replace("language='php'","",$con);
  $con=str_replace('language="php"','',$con);
  echo "$con";
  $fp=fopen($filestring,"w");
  fwrite($fp,"<!-- $ver_id -->\n",100);
  $con=str_replace("\t","",$con);
  $con=str_replace("\r","",$con);
  $con = ereg_replace(">([ ]+)<", "><", $con);
  $con = ereg_replace("\n([ ]+)<", "\n<", $con);
  $con = ereg_replace("([\n]+)", "\n", $con);
  fwrite($fp,$con,strlen($con));
  fclose($fp);
  chmod($filestring,0666);
}
?>

解决方案 »

  1.   

    ///////////////////////////////////////
    $date = getdate();
    $yy = $date['year'];
    $dd= $date['mday'];
    $mm= $date['mon'];
        if($mm<10){
    $mm="0".$mm;
    }
    if($dd<10){
    $dd="0".$dd;
    }
    $nowtime=$yy.$mm.$dd;////////////////////////////////////////同意唠叨,这段代码害了我读半分钟,服了
      

  2.   

    <?phpinclude("../../includes/config.php");
    $ver_id=&&&ver_id&&&;
    $userid=&&&userid&&&;
    $mod=&&&mod&&&;
    $exptime=&&&exptime&&&;
    ///////////////////////////////////////
    $date = getdate();
    $yy = $date['year'];
    $dd= $date['mday'];
    $mm= $date['mon'];
        if($mm<10){
    $mm="0".$mm;
    }
    if($dd<10){
    $dd="0".$dd;
    }
    $nowtime=$yy.$mm.$dd;//////////////////////////////////////////上面不用说了//可能是如果超时,并且$LOOK不为ok的时候跳转到exp.htm页
    if($nowtime>$exptime && $LOOK!="ok"){
    header("location:../../exp.htm");
    }//如果文件不存在,则将$file赋一个值
    if($file==""){
    $file="index.php3";
    }//如果设置了$REF_PAGE,就将$refpage,$direct赋值
    if(isset($REF_PAGE)){
      $refpage=$REF_PAGE;
      $direct="N";
    }else{
      $direct="Y";
    }//打开文件
    $opendir="$baseurl/mod/$mod/";
    $openfile=$opendir.$file;
    $openfile=$openfile."?kdir=$kdir&nowdir=$nowdir&userid=$userid&id=$id&detail=$detail";//实际上得到了一个php3文件if($QUERY_STRING==""){
    $filestring="file=index.php3.htm";
    }
    else{
    $filestring=$QUERY_STRING.".htm";
    }//将文件路径名设为cookie
      setcookie("REF_PAGE",$filestring);
    $kk=3;//可能是一个判断量,设个初值是3//检查文件是否存在
    if(file_exists($filestring)){
    //打开文件
    $fx=fopen($filestring,"r");
    //取前100个字符
    $pp=fgets($fx,100);
    fclose($fx);
    //将取得的字符去掉首尾空格,并判断是否合格
    if(trim($pp)=="<!-- $ver_id -->"){
      //如果合格,那么包含文件
    include($filestring);
         
    }else{
      //否则设$kk为1
    $kk=1; 
    }
    }
    //如果文件不存在
    else{
    //首先看是不是$QUERY_STRING==""的情况
    //如果是
    if($filestring=="file=index.php3.htm"){
    $kk=1;
    }
    //如果没有设置$REF_PAGE,那么$kk设为0
    elseif($direct=="Y"){
    $kk=0;
    }
    //其他情况下,也就是$QUERY_STRING!="",$direct=="N"
    else{
    //取文件,读文件,
    if(file_exists($refpage)){
    $ffp=fopen($refpage,"r");
    $fcon=fread($ffp,120000);
    //截到$QUERY_STRING>为止
    if(strstr($fcon,$QUERY_STRING.">")){
    $kk=1;
    }
    else{
    $kk=0;
    }
    fclose($ffp);
         }
     else{
    $kk=0;
         }
       }
    }
    //如果kk==0,打开先前的$openfile,一个php3文件,将路径换掉,<?,<%换成空……,就是把程序标签去掉。
    if($kk==0){
      $fd=fopen($openfile,"r");
      $con = fread($fd,120000);
      $con=str_replace("images/","$opendir/images/",$con);
      $con=str_replace("<?","",$con);
      $con=str_replace("<%","",$con);
      $con=str_replace("language=php","",$con);
      $con=str_replace("language='php'","",$con);
      $con=str_replace('language="php"','',$con);
      fclose($fd);
      echo "$con";
    }//如果kk==1,换掉标签,去除多余空格,写入文件,还把文件属性设为666
    if($kk==1){
      $fd=fopen($openfile,"r");
      $con = fread($fd,120000);
      $con=str_replace("images/","$opendir/images/",$con);
      fclose($fd);
      $con=str_replace("<?","",$con);
      $con=str_replace("<%","",$con);
      $con=str_replace("language=php","",$con);
      $con=str_replace("language='php'","",$con);
      $con=str_replace('language="php"','',$con);
      echo "$con";
      $fp=fopen($filestring,"w");
      fwrite($fp,"<!-- $ver_id -->\n",100);
      $con=str_replace("\t","",$con);
      $con=str_replace("\r","",$con);
      $con = ereg_replace(">([ ]+)<", "><", $con);
      $con = ereg_replace("\n([ ]+)<", "\n<", $con);
      $con = ereg_replace("([\n]+)", "\n", $con);
      fwrite($fp,$con,strlen($con));
      fclose($fp);
      chmod($filestring,0666);
    }//感觉好像是一个文件处理程序,把一个php3文件换成了静态的
    //好像是在做一种模板处理,没有上下文,也说不太他细,前面的一堆东西只是为了取得替换条件,kk.如果
    //kk为0,只换;kk为1,换了还要写.
    ?>