
PHP有两种方法读写文件,方法一迹基、file、姿滚谨file_get_contents、file_put_contents三个函数整体读写文本,适合文本文件不太大的情况。两个函数的的典型应用是:
$text=file_get_contents('a.txt')//把文本文件的所有内容取到字符串变量$text里面
$arr=file('a.txt')//把文本文件的所有内容,取到数组$arr里面,$arr[0]就是第一行,以此类推
$arr[1]='abc'//或者通过其它途径修改变量值
$text=implode($arr)//把数组连接为字符串
file_put_contents('a.txt', $text)//把字符串变备简量的内容写入到文本文件里面。
方法二、使用fopen、fgets、fputs、fclose函数读写文件,可以应付特大文件的修改。文件的修改一般方法是新建立一个文件,把源文件全部扫描一遍,遇到需要的部分进行处理,最后删除源文件,更名新文件。例如下面的代码把a.txt里面的abc修改为def:
$fp1=fopen('a.txt','r')$fp2=fopen('a.tmp','w')
while(!feof($fp1)){
$line=fgets($fp1)
$line=str_replace('abc','def',$line)
fputs($fp2,$line)
}
flcose($fp1)
fclose($fp2)
unlike('a.txt')
rename('a.tmp', 'a.txt')
<?php//获取文本内容稿液123
$content = file_get_contents("/website/aa.txt")
//查找localhsot,替换成孝敬碧您的IP地址
$str = str_replace("localhost","127.0.0.1",$content)
//以读写模式打开aa.txt文件
$file = fopen("/website/aa.txt"巧举,"r+")
//将替换后的内容写入aa.txt文件中
fwrite($file,$str)
//关闭文件
fclose($file)
?>
/*** 读文件
**/
function read_file($filename)
{
$fp = fopen($filename, "r") or die("couldn't open $filename")
$read = fread($fp, filesize($filename))
fclose($fp)
return $read
}
/**
* 写文件
**/
function write_file($filename, $buffer)
{
姿让$fp = fopen($filename, "w") or die("couldn't open $filename")
flock( $fp, LOCK_EX )
$write = fputs($fp, $buffer)
flock( $fp, LOCK_UN )
fclose($fp)
return true
}
/**
* 修改(只是追加内容)
**/
function append_to_file($filename, $buffer)
{
$fp = fopen($filename, "a") or die("couldn't open $filename")
flock( $fp, LOCK_EX )
fputs($fp, $buffer)
flock( 败册信$fp, LOCK_UN )
察轮 fclose($fp)
return true
}
/**
* 测试
**/
$str = read_file('test.txt')
echo $str
write_file('test2.txt', $str)
append_to_file('test2.txt', "ABCD")
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)