ホームページ  >  記事  >  バックエンド開発  >  PHPで配列をファイル形式で保存するにはどうすればよいですか?コード例

PHPで配列をファイル形式で保存するにはどうすればよいですか?コード例

WBOY
WBOYオリジナル
2016-07-25 08:52:17949ブラウズ
  1. $file="./cache/file.cache";
  2. $array = array("color" => array("blue", "red", "green"),
  3. "size" = > array("small", "medium", "large"));
  4. //Cache
  5. file_put_contents($file,serialize($array));//書き込みキャッシュ
  6. //読み取りキャッシュ
  7. $handle( $file, "r");
  8. $cacheArray = unserialize(fread($handle, filesize ($file)));
コードをコピー

2 番目のメソッド:

最初にいくつかの関数を投稿します。

  1. //書き込み
  2. functioncache_write($name, $var, $values) {
  3. $cachefile = S_ROOT.'./data/data_'.$name.'.php';
  4. $cachetext = " "if(!define('CHECK_CODE')) exit('アクセスが拒否されました');rn".
  5. '$'.$var.'='.arrayeval($values).
  6. " rn ?>";
  7. if(!swritefile($cachefile, $cachetext)) {
  8. exit("ファイル: $cachefile 書き込みエラー。");
  9. }
  10. }
  11. //配列を文字列に変換
  12. function arrayeval( $array , $level = 0) {
  13. $space = '';
  14. for($i = 0; $i $space .= "t" }
  15. $evaluate = " Arrayn$space(n";
  16. $comma = $space;
  17. foreach($array as $key => $val) {
  18. $key = is_string($key) ? '''.addcslashes($key, '' \').''' : $key;
  19. $val = !is_array($val) && (!preg_match("/^-?d+$/", $val) || strlen($val) > 12) ? ''.addcslashes($val, ''\').''' : $val;
  20. if(is_array($val)) {
  21. $evaluate .= "$comma$key => ". $val, $level + 1);
  22. $evaluate .= "$comma$key => $val";
  23. $comma = ",n$space" }
  24. $evaluate .= "n$space)";
  25. return $evaluate
  26. }
  27. //ファイルを書き込む
  28. function swritefile($filename, $writetext, $openmod='w') {
  29. if(@$fp = fopen($ filename, $) openmod)) {
  30. fwrite($fp, $writetext);
  31. return true; } else {
  32. runlog('error', "ファイル : $filename書き込みエラー。");
  33. return false;
  34. }
  35. }
  36. コードをコピー
  37. 呼び出し:
  38. cache_write('ファイル', '配列名', $array);
インクルード形式:
@include ('./data/data_cache.php'); //配列の並べ替え ソート($配列名);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。