fopen:读取
file:也可以以数组方式打开一个文件,每一行是数组中的一个值。
对数组的某一行赋空值就是删除。
fwrite:回写

解决方案 »

  1.   

    // 删除所有符合条件的数据记录,适用于每行字节数据较小的情况
        function delete2($column,$query_string){  
            $newfile = "";
            $f = fopen($this->file,"r");
            flock($f,LOCK_SH);
            while ($line = fgets($f,1024)) {
                $tmpLine = explode("\x0E",$line);
                if ($tmpLine[$column] != $query_string) {
                    $newfile .= $line;
                }
            }
            fclose($f);
            $f = fopen($this->file,"w");
            flock($f,LOCK_EX);
            fputs($f,$newfile);
            fclose($f);
        }这个是ctb的文本操作class里面的一个方法
    下载一个看看他的文本操作类吧 很经典的
      

  2.   

    调出文件为数组
    在数组里删除一个记录
    function delete($id)//先传入一个id值
    {
    $id=intval($id);
        $fp=file('data.php');
        $num=count($fp);
    if(($id<1)||($id>$num))
    {
    echo "输入格式不对,请重新输入";
    exit;
    }
        $id=$num-$id;
    for($i=$id;$i<$num;$i++)
    {
    $fp[$i]=$fp[$i+1];
    }
    $newdata=implode("",$fp);
    $fp2=fopen('data.php','w');
    flock($fp2,2);
        $result=fwrite($fp2,$newdata);
    fclose($fp2);
    if($result)
          echo "删除成功.";
    else echo "失败";
    }