用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

PHP文档批量替换字符串 在线网页文本替换

2013-07-10 作者: 免费源代码下载整理举报

[php]代码库

<?php

$info="PHP在线网页文本替换";
error_reporting(7);
ob_start();
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0];

/*===================== 程序配置 =====================*/

// 是否需要密码验证,1为需要验证,其他数字为直接进入.下面选项则无效
$admin['check'] = "1";
// 如果需要密码验证,请修改登陆密码
$admin['pass']  = "admin";

/*===================== 配置结束 =====================*/

// 允许程序在 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."\">三秒后自动退出或单击这里退出程序界面 &gt;&gt;&gt;</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."\">三秒后自动跳转或单击这里进入程序界面 &gt;&gt;&gt;</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://labs.net.cn">Labs.Net.cn</a><br />
Last update on Dec 30 2006<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\">&nbsp;不可写</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\">&nbsp;不可写</font><br />";
						}
					}
				}
				else{
					echo "<font color=\"red\">&nbsp;类型不匹配</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://labs.net.cn" target="_blank">Labs Of
China</a>独立开发,可在 <a href="http://labs.net.cn" target="_blank">中国网络实验室</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;">默认密码:labs.net.cn,请尽快修改您的密码.</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)";
	}
?>


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...