如果文件不是太大,这样可不可以?
先读取出来,放进一个数组,再按回车分解数组。你要是知道数据是在什么地方,就把它替换掉,然后再按顺序覆盖原文本写入。
<?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

解决方案 »

  1.   

    最原始简单的方法:<?
    $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); ?>