/*
* 远程调用模块方法
* @param $module 控制器
* @param $action 方法名
* @param $app 项目名 @为当前项目
*/
function R($module,$action,$app='@'){
$class = A($module,$app); //实例化控制器
if($class){
return call_user_func(array(&$class,$action)); //$class->$action();
} else {
return false;
}
}
/*
* 快速文件数据读取和保存 针对简单类型数据 字符串、数组
* @param $name 读取和保存的文件名
* @param $value 保存的数据值
* @param $path 保存文件路径
*/
function F($name, $value='', $path=DATA_PATH) {
static $_cache = array();
$filename = $path . $name . '.php';
if ('' !== $value) {
if (is_null($value)) {
// 删除缓存 判断缓存文件是否存在
if(file_exists($filename)){
return unlink($filename);
} else {
return false;
}
} else {
// 缓存数据
$dir = dirname($filename);
// 目录不存在则创建
if (!is_dir($dir))
mkdir($dir);
return file_put_contents($filename, "<?php \nreturn " . var_export($value, true) . ";\n?>");
}
}
if (isset($_cache[$name]))
return $_cache[$name];
// 获取缓存数据
if (is_file($filename)) {
$value = include $filename;
$_cache[$name] = $value;
} else {
$value = false;
}
return $value;
}
/**
* 转义数据
* @param mixed $var 待转义的参数-支持对象
*/
function addslashes_mixed($var){
//get_magic_quotes_gpc()为false时 手动转义
if(!get_magic_quotes_gpc()){
if(is_array($var)){
$var = array_map('addslashes_mixed',$var);
} elseif(is_object($var)){
$var = get_object_vars($var);
$var = addslashes_mixed($var);
} else {
$var = addslashes($var);
}
}
return $var;
}
/**
* 反转义数据
* @param mixed $var 待反转义的参数
*/
function stripslashes_mixed($var){
if(is_array($var)){
$var = array_map('stripslashes_mixed',$var);
} elseif(is_string($var)){
$var = stripslashes($var);
}
return $var;
}