网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 手机学院 | 邮件系统 | 网络安全 | 认证考试
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.PHP程序员一般都忽略了的几点精华.
.php分别做为cgi和module来运行的.
.根据模板文件生成一个静态html文.
.PHP的优化,缓冲,压缩实际的解决.
.PHP5.3 新特性之"命名空间"介绍.
.通过缓存数据库结果提高PHP性能.
.攻克CakePHP系列二 表单数据显示.
.用php5的simplexml解析各种feed.
.利Mcrypt扩展库进行加密和解.
.用PHP读写NTFS文件系统下的文件摘.
.复杂检索数据并分页显示的处理方.
.PHP程序与服务器端通讯的方法.
.一个全面获取图象信息的函数getI.
.PHP程序加速探索之缓存输出.
.php访问查询mysql数据的三种方法.
.PHP创建(中/英文字)图片.
.foreach、while、for性能比较.
.也谈 PHP 和 MYSQL.
.一个简单的模板类--编译型的(sim.
.正则表达式经验谈.

php操作php文件

发表日期:2008-12-24

听起来有些晕吧?!!使用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

<?
$name=$_POST['name'];             //接收从add_name.php传过来的name值
if(empty($name)){                 //判断是否为空
?>
<script language='javascript'> 
 alert("名称不能为空!");
 document.location='add_name.php';
</script>
<?
}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);                   关闭文件
}
?>

    这段代码只是做测试用117-202 1Z0-043 1z0-042  。写的不规范的地方倒是贻笑大方了!

    这样我们就可以用来更新name.php文件当中的变量。当然这是一种比较笨的方法(谁让俺也是笨人)。这种需求还有很多种实现方式。

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

转义字符 序列含义
  \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} 此正则表达式序列匹配一个用十六进制符号表示的字符


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

上一篇:PHP中使用FCKeditor2.3.2配置 人气:168
下一篇:用PHP5的DirectoryIterators递归扫描目录 人气:187
浏览全部PHP的内容 Dreamweaver插件下载 网页广告代码 2009年新年快乐