文章目录

php使用ajax修改文件内容

不知道小伙伴有没有遇到过这样的问题,比如网站上不同的页面投放了很多广告,有时为了需要要将其全部关闭。一条一条的删除广告代码或是屏蔽的话是非常麻烦的,这个时候我们就需要一个开关来控制其显示或隐藏。

说到这里,你可能会想,在数据库新建一个表存储相关数据,然后判断是否开启。小编觉得这样不好,每次每个页面都需要查询其相关状态,这样就把效率拉低了。

小编是这样做的,一个sys.ad.php文件,保存状态;一个ad.php文件操作界面;一个ad_ajax.php文件,执行相关功能。

sys.ad.php文件代码如下:

php代码<?php
define("AD","1");//位置2行,13列;1开启,0关闭
?>

ad.php文件代码如下

html代码<?php
include("sys.ad.php");
$ad=AD;
?>
<form id="form1" name="form1" method="post">
<table cellspacing="1" class="tbbg">
	<tr class="trbg">
		<td class="center">
        	<input type="button" name="ad" value="<?php echo $ad?'关闭':'开启' ?>广告" data-id="ad" class="adbtn" />
        	<input type="hidden" name="save" value="1" />
            <span id="notice"></span>
        </td>
	</tr>
</table>
</form>
<script>
$(document).ready(function(e) {
    $(".adbtn").click(function(){
		var obj=$(this);
		var data_id=$(this).attr("data-id");
		var params = $('form').serialize();
		var url = '<?php echo $key; ?>_ajax.php?act='+data_id;
		$.ajax({
			url: url,
			type: 'post',
			data: params,
			dataType:'json',
			success: function (data) {
				$('#notice').html(data.publichtml);
				obj.val(data.value);
			}
		});
    });
});
</script>

ad_ajax.php文件代码如下

php代码<?php
include("sys.ad.php");
$ad=AD;
$act=Reqs("act");
$f=$_POST;
if ($act=='ad'){
	$fp = fopen('sys.ad.php', 'r+');
	if ($fp) {
		$i = 1;
		while (!feof($fp)) {
			if ($i == 2) {//2行
				fseek($fp, 13, SEEK_CUR);//13列
				fwrite($fp, $ad?0:1);
				break;
			}
			fgets($fp);
			$i++;
		}
		fclose($fp);
	}
	$publichtml='广告已'.($ad?'关闭':'开启');
	$value=($ad?'开启':'关闭').'广告';
	$data=array(
		'publichtml'=>$publichtml,
		'value'=>$value
	);
}
echo json_encode($data);
?>

这样,当点击按钮的时候,sys.ad.php里面的AD值,如果是0则修改成1,如果是1则修改成0。然后成广告的位置判断AD为1就显示,反之隐藏。

这里我们用到了jquery的ajax,以及在修改文件内容的方法,属于综合性的,小伙伴们可以多看看。

本文网址:http://www.santii.com/article/3.html


数据更新时间:2018-09-21