ホームページ >php教程 >php手册 >PHP で配列をファイル形式で保存するアプリケーションの例

PHP で配列をファイル形式で保存するアプリケーションの例

WBOY
WBOYオリジナル
2016-06-13 12:19:14933ブラウズ

私は 2 つの方法を使用しました。
1 つ目は配列のシリアル化です。これは簡単ですが、呼び出すときに面倒です。2 つ目は、標準の配列形式で保存することです。保存するときは面倒ですが、面倒です。電話するときはシンプル。
最初の方法:
PHP コード

コードをコピー コードは次のとおりです:


$file= . /cache/file.cache";
$array = array("color" => array("blue", "red", "green"),
"size" => array(" small ", "medium", "large"));
//キャッシュ
file_put_contents($file,serialize($array));//書き込みキャッシュ
//読み取りキャッシュ
$ ハンドル= fopen($file, "r");
$cacheArray = unserialize(fread($handle, filesize ($file)));


2 番目の方法:
まずいくつかの関数を投稿しましょう:

コードをコピー コードは次のとおりです:


//Write
関数cache_write ($name, $var, $values) {
$cachefile = S_ROOT.'./data/data_'.$name.'.php';
$cachetext = ""if(!define('CHECK_CODE')) exit('アクセスが拒否されました');rn".
'$'.$var.'='.arrayeval($values). > ;";
if(!swritefile($cachefile, $cachetext)) {
exit("ファイル: $cachefile 書き込みエラー。");
}
}
//配列文字列への変換
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i <= $level; $i ) {
$space .= "t";
}
$evaluate = "Arrayn$space(n";
$comma = $space;
foreach($array as $key => ; $val) {
$key = is_string($key) ''.addcslashes($key, ''\').''' : $key; ) && (!preg_match("/^-?d $/", $val) || strlen($val) > 12) '''.addcslashes($val, ''\').''' : $ val;
if(is_array($val)) {
$evaluate .= "$comma$key => ".arrayeval($val, $level 1); else {
$evaluate .= "$comma$key => $val";
}
$comma = ",n$space";
$evaluate .= "n$space) " ;
return $evaluate;
}
//ファイルの書き込み
function swritefile($filename, $writetext, $openmod='w') {
if(@$fp = fopen ($filename, $openmod)) {
flock($fp, $writetext);
fclose($fp); } else {
runlog('error', "File: $filename write error.");
return false;
}
}


呼び出しメソッドは非常に単純です:
PHP コード



コードをコピー

コードは次のとおりです:


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

同じ標準インクルード形式を使用します: PHP コード


コードをコピーします

>

@include ('./data/data_cache.php');
//配列の並べ替え

sort($arrayName);

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