PHP에서 배열을 파일 형식으로 저장하는 방법은 무엇입니까? 예제 코드

WBOY
풀어 주다: 2016-07-25 08:52:17
원래의
963명이 탐색했습니다.
  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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!