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

如何自己写一个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 @   李照耀  阅读(330)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示