时时商务社区

标题: php将数组存储为文本文件方法汇总 [打印本页]

作者: 网络通达    时间: 2018-2-14 05:41

            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数组保存文本与文本反编成数组实例
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2