自定义写入读出文件作为存储的函数

如何自己写一个php操作文件写入读出的一个文件流机制呢?

<?php
function write_file($filename='',$data=array(),$id=0)
{
    $content=unserialize(file_get_contents($filename));//获取文件内容
    if(empty($content))
    {
        $content[1]=$data;//如果没有 默认把第一个给他
    }else
    {
        if($id>0)
        {
            //修改某一个 先检测该值是否还存在
            if(isset($content[$id]))
            {
                if(is_null($data))
                {
                    unset($content[$id]);//去除这个键
                }else
                {
                    $content[$id]=$data;//存储修改这个键
                }
            }else
            {
                return false;//要修改的键不存在 拒绝 返回false
            }
        }else
        {
            $content[]=$data;
        }
    }
    return file_put_contents($filename,serialize($content));
}

function read_file($filename='',$id=0)
{
    $content=unserialize(file_get_contents($filename));//获取文件内容
    if(empty($content)){return false;}
    if($id>0)
    {
        return isset($content[$id])?$content[$id]:false;//返回某一条
    }
    return $content;//返回全部
}
?>

 

调用如下:

<?php
write_file($filename,array("name"=>"test_user"));//新增
write_file($filename,array("name"=>"edit_test_user"),9);//修改
write_file($filename,null,10);//删除
$list=read_file($filename);//读取
?>

 

posted @ 2016-12-15 12:01  李照耀  阅读(329)  评论(0编辑  收藏  举报