如果文件不是太大,这样可不可以?
先读取出来,放进一个数组,再按回车分解数组。你要是知道数据是在什么地方,就把它替换掉,然后再按顺序覆盖原文本写入。
<?php $fp = @fopen("person.data", "rb") or die("Couldn't open file");
$data = fread($fp, filesize($fp)); while(!feof($fp))
{
$data .= fgets($fp, 1024);
} fclose($fp); $values = explode("\r\n", $data); echo "Name: " . $values[0] . " " . $values[1] . "<br>";
echo "Age: " . $values[2] . "<br>";
echo "Sex: " . $values[3]; ?>
------------------
person.data
---
Mitchell
Harper
20
M
先读取出来,放进一个数组,再按回车分解数组。你要是知道数据是在什么地方,就把它替换掉,然后再按顺序覆盖原文本写入。
<?php $fp = @fopen("person.data", "rb") or die("Couldn't open file");
$data = fread($fp, filesize($fp)); while(!feof($fp))
{
$data .= fgets($fp, 1024);
} fclose($fp); $values = explode("\r\n", $data); echo "Name: " . $values[0] . " " . $values[1] . "<br>";
echo "Age: " . $values[2] . "<br>";
echo "Sex: " . $values[3]; ?>
------------------
person.data
---
Mitchell
Harper
20
M
$path = config.inc.php;
$fp = fopen($path,"w");
$str = fread($fp, filesize($path)); if($ESS['tmp']['now'] == '')
{
赋值
//在指定位置写 $ESS['tmp']['now'] = 'template1'
$str = str_replace("template2","template1",$str);
}
if($ESS['tmp']['now'] != '')
{
写新的数据,修改
//将指定位置修改为 $ESS['tmp']['now'] = 'template2'
$str = str_replace("template1","template2",$str);
}
fputs($p,$str);
fclose($fp); ?>