关于奇矩互动奇矩互动招贤纳士奇矩互动优质虚拟主机Discuz!商业用户享有本站VIP服务LAMP环境配置手册(CentOS5.1)
发新话题
打印

php操作php文件

php操作php文件

使用php来操作php页面。有一个小的用途,在一个系统当中可能会有个别的小项不便存入数据库,但是我们又要经常在其他页面当中调用,而且还需要更新,那么我们就可以用这种方式来解决。其中遇到几个小问题,搞了俺半天时间才搞定

   比如说:用户需要更改某一个标题,但是单独为这个标题在建立一个表,显然不太合适。所以就想到,把这个变量写入php文件当中,供其它页面调用。name.php文件,需要的内容如下:

<?

$name="标题";

?>

    "标题"这两个字需要用户可以更新。那么我们如何来实现:

     一个简单的提交信息页面add_name.php
复制内容到剪贴板
代码:
<form action="addname.php" method="post">
<input type="text" name="name" size="20" />
<input type="submit" value="提交" />
一个接收用户提交信息并进行处理的页面addname.php
复制内容到剪贴板
代码:
<?php
$name = $_POST['name']; //接收从add_name.php传过来的name值
if(empty($name)) { // 判断是否为空
?>
<script language='javascript'>  
alert("名称不能为空!");
document.location='add_name.php';
</script>
<?php
} else {
        $filename = "name.php"; //定义操作文件
        $delline = 2; //要删除的行数  
        if(!file_exists($filename)) { // 判断文件是否存在
                die("指定文件未发现!操作中断!");
        }
        $farray = file($filename); //读取文件数据到数组中
        for($tmpa = 0;$tmpa < count($farray);$tmpa++) {
                if(($tmpa + 1) == 2) { // 判断行数
                        $farray[$tmpa] = "\$name2=" . "\"" . $name . "\";\n"; *
                        // 替换原有行的数据
                }
                //重新整理后的数据
                $newfp .= $farray[$tmpa];
        }
        $fp = @fopen($filename, "w") or die("写方式打开文件 $filename 失败");
        // 我们以写的方式打开文件
        @fwrite($fp, $newfp) or die("文件写入失败");

        @fclose($fp);
        //关闭文件
}

?>
其中*标记的一行当中,我们用到转义字符,这个说起来很简单,但是我测试的时候由于方法不得当倒是浪费了不少时间。现在把转义字符表贴在下面:

转义字符 序列含义
  \n      换行(LF 或 ASCII 字符 0x0A(10))
  \r      回车(CR 或 ASCII 字符 0x0D(13))
  \t      水平制表符(HT 或 ASCII 字符 0x09(9))
  \\      反斜线
  \$      美元符号
  \"      双引号

\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符


单就处理字符串而言,使用单引号要比使用双引号速度要快,所以你要在你的程序中选择适当的引号。

TOP

发新话题