php将数组或对象原样写入或保存到文件有三种方法可以实现
第一种方法是使用serialize,使用 serialize 将数组序列化,存储在文件中;调用时,再使用 unserialize 还原。
<?php
$file='./cache/phone.php';
$array=array('color'=> 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)));
第二种方法是使用print_r,用print_r 将数组打印到txt文件中。
<?php
$b = array (
'm' => 'monkey',
'foo' => 'bar',
'x' => array ('x', 'y', 'z'));
$results = print_r($b, true);
file_put_contents('filename.txt', print_r($b, true));
?>
第三种方法是使用var_export,用var_export 直接将数组以完整数组的形式存储到文件中。
<?php
$file='./cache/phone.php';
$array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large'));
//缓存
$text='<?php $rows='.var_export($array,true).';';
if(false!==fopen($file,'w+')){
file_put_contents($file,$text);
}else{
echo '创建失败';
}