找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 86|回复: 0
打印 上一主题 下一主题

php将数组存储为文本文件方法汇总

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:41:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件。那么如何使用 php 将数组保存为文本格式的文件呢?下面分享三种方法实现将 php 数组写入到文件以缓存数组。
(1)利用serialize 将数组序列化存储为文本文件,调用时候再使用unserialize 还原

array('blue','red','green'),'size'=> array('small','medium','large'));
//缓存
if(false!==fopen($file,'w+')){
  file_put_contents($file,serialize($array));//写入缓存
}
//读出缓存
$handle=fopen($file,'r');
$cacheArray=unserialize(fread($handle,filesize($file)));
(2)自创的将数组保存为标准的数组格式,虽然保存时复杂了点但是调用时简单

array('blue','red','green'),'size'=> array('small','medium','large'));
cache_write($file,$array,'rows',false);

//写入
function cache_write($filename,$values,$var='rows',$format=false){
  $cachefile=$filename;
  $cachetext=" $val){
    $key=is_string($key)?'\''.addcslashes($key,'\'\\').'\''key;
    $val=!is_array($val)&&(!preg_match('/^\-?\d+$/',$val)||strlen($val) > 12)?'\''.addcslashes($val,'\'\\').'\''val;
    if(is_array($val)){
      $evaluate.=$comma.$key.'=>'.arrayeval($val,$format,$level+1);
    }else{
      $evaluate.=$comma.$key.'=>'.$val;
    }
    $comma=','.$line.$space;
  }
  $evaluate.=$line.$space.')';
  return $evaluate;
}

//写入文件
function writefile($filename,$writetext,$openmod='w'){
  if(false!==$fp=fopen($filename,$openmod)){
    flock($fp,2);
    fwrite($fp,$writetext);
    fclose($fp);
    return true;
  }else{
    return false;
  }
}
(3)利用 var_export 将数组直接保存为数组形式存储到文本文件中

array('blue','red','green'),'size'=> array('small','medium','large'));
//缓存
$text='
以上就是为大家介绍的三种php将数组保存为文本格式的方法,希望对大家的学习有所帮助。
            
            
您可能感兴趣的文章:
  • php中用文本文件做数据库的实现方法
  • 效率较高的php下读取文本文件的代码
  • PHP通过header实现文本文件下载的代码
  • python处理PHP数组文本文件实例
  • php数组保存文本与文本反编成数组实例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端