• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php下把数组保存为文件格式的实例应用_php技巧

php 搞代码 3年前 (2022-01-26) 7次浏览 已收录 0个评论

我使用过两种办法:
第一种是数组序列化,简单,但是调用时比较麻烦一些;第二种是保存为标准的数组格式,保存时麻烦但是调用时简单。
第一种方法:
PHP代码

 <BR>$file="./cache/file.cache"; <BR>$array = array("color" => array("blue", "red", "green"), <BR>"size" => array("small", "medium", "large")); <BR>//缓存 <BR>file_put_contents($file,serialize($array));//写入缓存 <BR>//读出缓存 <BR>$handle = fopen($file, "r"); <BR>$cacheArray = unserialize(fread($handle, filesize ($file))); <BR>


第二种方法:
比较复杂,先贴几个函数:

 <BR>//写入 <BR>function cache_write($name, $var, $values) { <BR>$cachefile = S_ROOT.'./data/data<p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>_'.$name.'.php'; <BR>$cachetext = "<?php\r\n". <BR>"if(!defined('CHECK_CODE')) exit('Access Denied');\r\n". <BR>'$'.$var.'='.arrayeval($values). <BR>"\r\n?>"; <BR>if(!swritefile($cachefile, $cachetext)) { <BR>exit("File: $cachefile write error."); <BR>} <BR>} <BR>//数组转换成字串 <BR>function arrayeval($array, $level = 0) { <BR>$space = ''; <BR>for($i = 0; $i <= $level; $i++) { <BR>$space .= "\t"; <BR>} <BR>$evaluate = "Array\n$space(\n"; <BR>$comma = $space; <BR>foreach($array as $key => $val) { <BR>$key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key; <BR>$val = !is_array($val) && (!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12) ? '\''.addcslashes($val, '\'\\').'\'' : $val; <BR>if(is_array($val)) { <BR>$evaluate .= "$comma$key => ".arrayeval($val, $level + 1); <BR>} else { <BR>$evaluate .= "$comma$key => $val"; <BR>} <BR>$comma = ",\n$space"; <BR>} <BR>$evaluate .= "\n$space)"; <BR>return $evaluate; <BR>} <BR>//写入文件 <BR>function swritefile($filename, $writetext, $openmod='w') { <BR>if(@$fp = fopen($filename, $openmod)) { <BR>flock($fp, 2); <BR>fwrite($fp, $writetext); <BR>fclose($fp); <BR>return true; <BR>} else { <BR>runlog('error', "File: $filename write error."); <BR>return false; <BR>} <BR>} <BR>


调用方法很简单:
PHP代码

 <BR>cache_write('file', 'arrayName', $array); <BR>


使用上形同标准的include格式:
PHP代码

 <BR>@include ('./data/data_cache.php'); <BR>//数组重新排序 <BR>sort($arrayName); <BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php下把数组保存为文件格式的实例应用_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址