批量修改:内容的东东 <?php /*我不是原作者*/ $info="Replacer v2.0"; error_reporting(7); ob_start(); $mtime = explode(' ', microtime()); $starttime = $mtime[1] + $mtime[0];
/*===================== 程序配置 =====================*/
// 是否需要密码验证,1为需要验证,其他数字为直接进入.下面选项则无效 $admin['check'] = "1"; // 如果需要密码验证,请修改登陆密码 $admin['pass'] = "m4ker.net";
/*===================== 配置结束 =====================*/
// 允许程序在 register_globals = off 的环境下工作 $onoff = (function_exists('ini_get')) ? ini_get('register_globals') : get_cfg_var('register_globals');
if ($onoff != 1) { @extract($_POST, EXTR_SKIP); @extract($_GET, EXTR_SKIP); }
$self = $_SERVER['PHP_SELF']; $dis_func = get_cfg_var("disable_functions");
/*===================== 身份验证 =====================*/
if($admin['check'] == "1") { if ($_GET['action'] == "logout") { setcookie ("adminpass", ""); echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$self."\">"; echo "<span style=\"font-size: 12px; font-family: Verdana\">注销成功......<p><a href=\"".$self."\">三秒后自动退出或单击这里退出程序界面 >>></a></span>"; exit; }
if ($_POST['do'] == 'login') { $thepass=trim($_POST['adminpass']); if ($admin['pass'] == $thepass) { setcookie ("adminpass",$thepass,time()+(1*24*3600)); echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$self."\">"; echo "<span style=\"font-size: 12px; font-family: Verdana\">登陆成功......<p><a href=\"".$self."\">三秒后自动跳转或单击这里进入程序界面 >>></a></span>"; exit; } } if (isset($_COOKIE['adminpass'])) { if ($_COOKIE['adminpass'] != $admin['pass']) { loginpage(); } } else { loginpage(); } } /*===================== 验证结束 =====================*/ ?> <html> <head> <title><?php echo $info;?></title> <style type="text/css"> body{ font-size:12px; font-family:"MS Sans Serif", "Helvetica", "sans-serif"; text-align:center; margin:0 0 0 0;
} textarea { font: 12px "Verdana", "Tahoma", "sans-serif"; padding: 4px; } input {font-family: "Verdana";font-size: "11px";BACKGROUND-COLOR: "#FFFFFF";height: "18px";border: "1px solid #666666";} form{ margin:0 0 0 0; } div{ padding:2 5 2 5; margin:2 2 2 2; } a:link,a:visited,a:active { color: "#000000"; text-decoration: underline; } a:hover { color: "#465584"; text-decoration: none; } .main{ width:800; height:; text-align:left; } .header{ width:100%; } .title{ font-weight:bold; float:left; } .menu{ float:right } .msg{ border-top:1px solid #000000; } .about{ border-top:1px solid #000000; width:100%; } .step{ border-top:1px solid #000000; width:100%; } .text{
} .form{ border-top:1px solid #000000; } .item{ width:100%; text-align:center; } .button{ width:100%; text-align:center; } .footer{ margin-top:20; width:100%; border-top:1px solid #000000; } .copyright{ float:left; } .run{ float:right; } </style> </head> <body>
<?php /* //调试用 echo "<pre>\n"; echo "_POST\n"; print_r($_POST); echo "_GET\n"; print_r($_GET); echo "</pre>\n"; */ ?>
<div class="main"> <div class="header"><div class="title"><?php echo $info;?></div><div class="menu"> <?php if($admin['check'] == "1"){?> <a href="?action=logout">注销</a><?php } ?> </div> </div> <div class="msg"> <?php
if($_GET['action']=="replace"){ if(!$_POST['submit']){ $_POST['dir']==""?$dir=".":$dir=$_POST['dir']; //设定目录 $count=$_POST['count']; //调用函数 listfiles($dir); echo "<font color=\"red\">替换完毕!</font><br>\n"; } } else if($_GET['action']=="post"){ $count=$_POST['count']; info(); } else{ if(empty($count))$count=1;else $count=$_GET['count']; info(); } if($count<1)$count=1; ?> </div> <div class="about"> Coze by <a href="http://www.m4ker.net">Maker</a><br /> Last update on Dec 30 2006<br /> E-mail:m4ker@163.com<br /> QQ:35650697<br /> </div> <div class="step"> 使用方法: <ol> <li> 在替换之前请将要替换的文件属性全部修改为 0777 (WINDOWS服务器可以省略此步骤) </li> <li> 修改替换个数 </li> <li> 设定将要替换的目录 </li> <li> 设定替换文件的后缀 </li> <li> ... </li> </ol> <font color="red">注意:慎用本程序,一旦出错将可能无法恢复,使用完毕请立即删除,造成任何后果自负.</font> </div> <div class="form"> <div class="text"> <form id="form1" name="form1" method="post" action="?action=post"> <label>替换个数: <input name="count" type="text" maxlength="3" /> </label> <label> <input type="submit" name="Submit" value=" 修改 " /> </label> </form> </div> <form name="form" method="post" action="?action=replace"> <div class="text"> <input name="count" type="hidden" value="<?php echo $count; ?>"> <label>目标目录: <input type="text" name="dir" value="" /> 将要替换的目录,例:dir/dirname</label> </div> <div class="text"> <label>文件类型: <input type="text" name="type" value="" /> 请填写文件后缀,多种后缀请用"|"分隔,例:txt|html|htm,留空为替换全部类型</label> </div> <div class="text"> <?php for($i=1;$i<=$count;$i++){ print("<div class=\"item\"><textarea name=\"a[{$i}]\" cols=\"50\" rows=\"10\"></textarea> <textarea name=\"b[{$i}]\" cols=\"50\" rows=\"10\"></textarea></div>"); } ?> </div> <div class="button"> <input type="submit" name="Submit" value=" 修改 " /> <input type="reset" name="Submit2" value=" 重置 " /> </div> </form> </div> <div class="footer"> <div class="copyright">Copyright (C) 2006 m4ker.net All Rights Reserved.</div> <div class="run"><?php debuginfo(); ob_end_flush(); ?></div></div> </div> </body> </html>
<?php /*===================== 定义函数========================*/ function listfiles($dir="."){//遍厉目录并替换 $hAndle=opendir($dir);//打开目录 while(fAlse!=($file=reAddir($hAndle))){//阅读目录 if($file!='.'&&$file!='..'){//列出所有文件并去掉'.'和'.. if(is_dir("$dir/$file")){//列出文件和目录 echo "<font color=\"yellow\">$dir/$file</font><br />";//输出目录名[黄色] listfiles("$dir/$file");//递归调用 } else if("$dir/$file"!=selfname()){//判断自身 echo "$dir/$file";//输出文件名 //读取文件内容 if(checktype(selftype("$dir/$file"),types($_POST['type'])) and $_POST['type']!=""){ if(filesize("$dir/$file")>0){ if(is_writable("$dir/$file")){ $fp=fopen("$dir/$file","r"); $con=addslashes ( freAd($fp,filesize("$dir/$file"))); //==========================替换内容 $con=replace($_POST['a'],$_POST['b'],$con); fclose($fp);//关闭文件连接 $fd=fopen("$dir/$file","w");//打开文件 $A=fputs($fd,stripslashes ($con));//写入替换后的内容 fclose($fd);//关闭文件连接 echo "<br />"; } else{ echo "<font color=\"red\"> 不可写</font><br />"; } } } else if($_POST['type']==""){ if(filesize("$dir/$file")>0){ if(is_writable("$dir/$file")){ $fp=fopen("$dir/$file","r"); $con=addslashes ( freAd($fp,filesize("$dir/$file"))); //==========================替换内容 $con=replace($_POST['a'],$_POST['b'],$con); fclose($fp);//关闭文件连接 $fd=fopen("$dir/$file","w");//打开文件 $A=fputs($fd,stripslashes ($con));//写入替换后的内容 fclose($fd);//关闭文件连接} echo "<br />"; } else{ echo "<font color=\"red\"> 不可写</font><br />"; } } } else{ echo "<font color=\"red\"> 类型不匹配</font><br />"; } } } } } function selfname(){//返回本文件名 $a=explode("/", $_SERVER['PHP_SELF']); return "./".$a[count($a)-1]; }
function selftype($filepath){//返回文件后缀 $a=explode(".", $filepath); return $a[count($a)-1]; }
function checktype($selftype,$type){ for($i=0;$i<count($type);$i++){ $a=0; if($type[$i]==$selftype){ $a=1; break; } } return $a; }
function types($types){ $type=explode("|",$types); return $type; }
function replace($a,$b,$c){ for($i=1;$i<=count($a);$i++){ $c=str_replAce($a[$i],$b[$i],$c); } return $c; }//end replace() function info(){ ?> <div align="center"> 本程序由 <a href="http://www.m4ker.net" target="_blank">maker</a> 独立开发,可在 <a href="http://www.m4ker.net" target="_blank">www.m4ker.net</a> 下载最新版本.技术支持 <a href="http://www.4ngel.net">angel</a></div> <?php } // 登陆入口 function loginpage() { ?> <style type="text/css"> input {font-family: "Verdana";font-size: "11px";BACKGROUND-COLOR: "#FFFFFF";height: "18px";border: "1px solid #666666";} </style> <form method="POST" action=""> <font color="red" style="font-size:12px;">默认密码:m4ker.net,请尽快修改您的密码.</font><br /> <span style="font-size: 11px; font-family: Verdana">Password: </span><input name="adminpass" type="password" size="20"> <input type="hidden" name="do" value="login"> <input type="submit" value="Login"> </form> <?php exit; }//end loginpage() // 页面调试信息 function debuginfo() { global $starttime; $mtime = explode(' ', microtime()); $totaltime = number_format(($mtime[1] + $mtime[0] - $starttime), 6); echo "Processed in $totaltime second(s)"; } ?> f
|
|
|