PHP文件系统-文件的读写操作

一、 文件的打开与关闭(读文件中的内容, 向文件中写内容) 读取文件中的内容 file_get_contents(); //php5以上,读取出的文件内容放在一个变量中 file() //读取文件中内容,按每一行保存在数组中 readfile(); //读取文件中的内容,并输出 不足:全部读取, 不能读取部分,也不能指定的区域 fopen() --打开文件或者 URL fread() --读取文件(可安全用于二进制文件) fgetc() --从文件指针中读取字符 fgets() --从文件中读取一行 写入文件,file_put_contents(“URL”, “内容字符串”); //php5以上 如果文件不存在,则创建,并写入内容。如果文件存在,则删除文件中的内容,重新写放 不足: 不能以追加的方式写,也不能加锁 fopen() fwrite() 别名 fputs 本地文件: ./test.txt c:/appserv/www/index.html /usr/local/apahce/index.html 远程: http://www.baidu.com http://www.163.com ftp://user@pass:www.baidu.com/index.php 二、程序实例 1、把远程网站的图片链接信息保存到一个文件中 $str=file_get_contents("http://www.163.com"); preg_match_all('/\<img\s+src=.*?\s*\/?\>/i',$str, $images); $imgs=""; foreach($images[0] as $img){ $imgs.=$img.'<br>'; } echo file_put_contents("test.txt", $imgs); 2、修改配置文件中的内容 function setConfig($post){ //读取文件中的内容 $str=file_get_contents("config.inc.php"); $zz=array(); $rep=array(); foreach($post as $key=>$value ){ $zz[]="/define\(\"{$key}\",\s*.*?\);/i"; $rep[]="define(\"{$key}\", \"{$value}\");"; } echo '<pre>'; print_r($zz); print_r($rep); echo '</pre>'; //改写文件中的内容 $str=preg_replace($zz, $rep, $str); file_put_contents("config.inc.php", $str); //再写回文件 } ?> <form action="one.php" method="post"> host : <input type="text" name="DB_HOST"><br> user: <input type="text" name="DB_USER"><br> pass: <input type="text" name="DB_PWD"><br> dbname <input type="text" name="DB_NAME"><br> tabPREFIX <input type="text" name="TAB_PREFIX"><br> <input type="submit" name="sub" value="修改"><br> </form>   3、读出安装文件中所有的SQL语句 $lines=file("lampcms.sql"); //读取出所有行 $sqlstr=""; foreach($lines as $line){ $line=trim($line); //去掉首尾的空白字符 if($line!=""){ if(!($line{0}=="#" || $line{0}.$line{1}=="--")){ $sqlstr.=$line; } } } $sqlstr=rtrim($sqlstr,";"); //删除文件内容的最后的一个分号 $sqls=explode(";",$sqlstr); //按;号进行分割 echo '<pre>'; print_r($sqls); echo '</pre>';  
posted @ 2012-04-11 13:17  gxldan  阅读(198)  评论(0编辑  收藏  举报