首頁 > 後端開發 > php教程 > php怎麼把陣列保存為檔案格式?實例程式碼

php怎麼把陣列保存為檔案格式?實例程式碼

WBOY
發布: 2016-07-25 08:52:17
原創
1013 人瀏覽過
  1. $file="./cache/file.cache";
  2. $array = array("color" => array("blue", "red", "green"),
  3. "size" => array("small", "medium", "large"));
  4. //缓存
  5. file_put_contents($file,serialize($array));//写入缓存
  6. //读出缓存
  7. $handle = fopen($file, "r");
  8. $cacheArray = unserialize(fread($handle, filesize ($file)));
复制代码

第二种方法:

先贴几个函数:

  1. //写入
  2. function cache_write($name, $var, $values) {
  3. $cachefile = S_ROOT.'./data/data_'.$name.'.php';
  4. $cachetext = " "if(!defined('CHECK_CODE')) exit('Access Denied');rn".
  5. '$'.$var.'='.arrayeval($values).
  6. "rn?>";
  7. if(!swritefile($cachefile, $cachetext)) {
  8. exit("File: $cachefile write error.");
  9. }
  10. }
  11. //数组转换成字串
  12. function arrayeval($array, $level = 0) {
  13. $space = '';
  14. for($i = 0; $i <= $level; $i ) {
  15. $space .= "t";
  16. }
  17. $evaluate = "Arrayn$space(n";
  18. $comma = $space;
  19. foreach($array as $key => $val) {
  20. $key = is_string($key) ? '''.addcslashes($key, ''\').''' : $key;
  21. $val = !is_array($val) && (!preg_match("/^-?d $/", $val) || strlen($val) > 12) ? '''.addcslashes($val, ''\').''' : $val;
  22. if(is_array($val)) {
  23. $evaluate .= "$comma$key => ".arrayeval($val, $level 1);
  24. } else {
  25. $evaluate .= "$comma$key => $val";
  26. }
  27. $comma = ",n$space";
  28. }
  29. $evaluate .= "n$space)";
  30. return $evaluate;
  31. }
  32. //写入文件
  33. function swritefile($filename, $writetext, $openmod='w') {
  34. if(@$fp = fopen($filename, $openmod)) {
  35. flock($fp, 2);
  36. fwrite($fp, $writetext);
  37. fclose($fp);
  38. return true;
  39. } else {
  40. runlog('error', "File: $filename write error.");
  41. return false;
  42. }
  43. }
复制代码

调用:

cache_write('file', 'arrayName', $array);

include格式:

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


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板