色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php下把數組保存為文件格式的實例應用

我使用過兩種辦法:
第一種是數組序列化,簡單,但是調用時比較麻煩一些;第二種是保存為標準的數組格式,保存時麻煩但是調用時簡單。
第一種方法:
php代碼
復制代碼 代碼如下:
$file="./cache/file.cache";
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
//緩存
file_put_contents($file,serialize($array));//寫入緩存
//讀出緩存
$handle = fopen($file, "r");
$cacheArray = unserialize(fread($handle, filesize ($file)));

第二種方法:
比較復雜,先貼幾個函數:
復制代碼 代碼如下:
//寫入
function cache_write($name, $var, $values) {
$cachefile = S_ROOT.'./data/data_'.$name.'.php';
$cachetext = "<?php/r/n".
"if(!defined('CHECK_CODE')) exit('Access Denied');/r/n".
'$'.$var.'='.arrayeval($values).
"/r/n?>";
if(!swritefile($cachefile, $cachetext)) {
exit("File: $cachefile write error.");
}
}
//數組轉換成字串
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i <= $level; $i++) {
$space .= "/t";
}
$evaluate = "Array/n$space(/n";
$comma = $space;
foreach($array as $key => $val) {
$key = is_string($key) ? '/''.addcslashes($key, '/'//').'/'' : $key;
$val = !is_array($val) && (!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, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
} else {
runlog('error', "File: $filename write error.");
return false;
}
}

調用方法很簡單:
php代碼
復制代碼 代碼如下:
cache_write('file', 'arrayName', $array);

使用上形同標準的include格式:
php代碼
復制代碼 代碼如下:
@include ('./data/data_cache.php');
//數組重新排序
sort($arrayName);

php技術php下把數組保存為文件格式的實例應用,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 敦煌市| 法库县| 新化县| 九龙坡区| 丘北县| 弥渡县| 通州区| 慈溪市| 凌源市| 阿鲁科尔沁旗| 沿河| 临夏市| 新沂市| 福清市| 永登县| 三都| 凤山市| 通榆县| 无锡市| 阿拉善盟| 沅陵县| 杂多县| 屯门区| 察雅县| 达拉特旗| 子长县| 剑川县| 舟山市| 柳江县| 房山区| 高青县| 岑巩县| 阳原县| 冷水江市| 通化市| 嫩江县| 济阳县| 突泉县| 徐汇区| 贵南县| 五华县|