php学习基础-文件系统(二) 文件读写操作、文件资源处理

一、文件的打开与关闭

/*
 *读取文件中的内容
 *	file_get_contents(); //php5以上
 *	file()
 *	readfile();
 *
 *	不足:全部读取, 不能读取部分,也不能指定的区域
 *
 *	fopen()
 *	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
 *
 */
//读取出所有行
	
$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>';



二、小偷程序,抓取网站上的页面,从页面链接中获取资源图片

$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);

三、更改网站配置项,修改文件内容,先读取,在使用正则匹配写入

if(isset($_POST["sub"])){
		setConfig($_POST);
}


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="mod"><br>
</form>

四、读取文件中得sql,执行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>';
 

五、向文件中写入内容

   /*写入文件
    *	file_put_contents(“URL”, “内容字符串”);  //php5以上
    *		如果文件不存在,则创建,并写入内容
    *		如果文件存在,则删除文件中的内容,重新写放
    *
    *		不足: 不能以追加的方式写,也不能加锁
    *
    *	fopen()
    *					fwrite() 别名 fputs
    */
    $file=fopen("./test.txt", "a"); //如果打开文件成功返回资源,如果失败返回false

    for($i=0; $i<100; $i++)
		fwrite($file, "www.lampbrother{$i}.net\n");

    fclose($file);   //关闭文件资源


六、循环读取文件每次按照固定长度读取

    $file=fopen("http://www.163.com", "r"); //如果打开文件成功返回资源,如果失败返回false

    $str="";

    while(!feof($file)){
		$str.=fread($file, 1024);
    }

    echo $str;

    fclose($file);   //关闭文件资源


七、文件常用函数实例

   $file=fopen("./test.txt", "r"); //如果打开文件成功返回资源,如果失败返回false

	echo ftell($file)."<br>";
	echo fread($file, 10)."<br>";
	echo ftell($file)."<br>";
	echo fread($file, 10)."<br>";
	echo ftell($file)."<br>";
	
	fseek($file,100, SEEK_CUR);
	echo ftell($file)."<br>";
	echo fread($file, 10)."<br>";
	echo ftell($file)."<br>";

	fseek($file,-20, SEEK_END);

	echo fread($file, 20)."<br>";

	echo ftell($file)."<br>";

	rewind($file); //回到文件头部
	echo ftell($file)."<br>";
	echo fread($file, 20)."<br>";



	fclose($file);   //关闭文件资源



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值