
正文
php数据写到配置文件 php配置文件的文件名是什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP网站的系统配置是写入PHP文件里再调用效果好,还是存入数据库在调用好?
个人理解。
一些经常需要调整的配置,可以考虑写入数据库,方便在网站中修改,可以考虑使用缓存。
其他的用配置文件。
使用缓存的流程。
页面先读取缓存文件,例如 config.php
文件不存在的情况下,读取数据库,并生成缓存文件。下载加载页面时就不会连接数据库了。
另外,更改完配置之后,需要重新生成缓存文件,即删除缓存文件。
相关问答
Q1: php写入配置文件
function saveAction()
{
$config_file='./application/config/sys.ini.php';
$info = $_POST;
$con = "?php\r\nreturn array(\r\n";
$con .= "\t'CSS_PATH' = " . $info['CSS_PATH'];
$con .= "\r\n\t'JS_PATH' = " . $info['JS_PATH'];
$con .= "\r\n\t'FILE_PATH' = " . $info['FILE_PATH'];
$con .= '\r\n);\r\n?';
if(file_put_contents($config_file,$con))
return true;
else
return false;
}
Q2: thinkphp5.0 怎么独立写配置文件
独立配置文件
配置文件支持分离(也称为扩展配置)php数据写到配置文件,只需要在公共配置文件配置extra_config_list参数(V5.0.1版本已经废除该写法)。
例如,不使用独立配置文件php数据写到配置文件的话,数据库配置信息应该是在config.php中配置如下:
/* 数据库设置 */
'database' = [
// 数据库类型
'type' = 'mysql',
// 服务器地址
'hostname' = '127.0.0.1',
// 数据库名
'database' = 'thinkphp',
// 数据库用户名
'username' = 'root',
// 数据库密码
'password' = '',
// 数据库连接端口
'hostport' = '',
// 数据库连接参数
'params' = [],
// 数据库编码默认采用utf8
'charset' = 'utf8',
// 数据库表前缀
'prefix' = '',
// 数据库调试模式
'debug' = false,
],
如果需要使用独立配置文件的话,则首先在config.php中添加配置:
'extra_config_list' = ['database'],
定义之后,数据库配置就可以独立使用database.php文件,配置内容如下:
/* 数据库设置 */
return [
// 数据库类型
'type' = 'mysql',
// 服务器地址
'hostname' = '127.0.0.1',
// 数据库名
'database' = 'thinkphp',
// 数据库用户名
'username' = 'root',
// 数据库密码
'password' = '',
// 数据库连接端口
'hostport' = '',
// 数据库连接参数
'params' = [],
// 数据库编码默认采用utf8
'charset' = 'utf8',
// 数据库表前缀
'prefix' = '',
// 数据库调试模式
'debug' = false,
],
如果配置php数据写到配置文件了extra_config_list参数,并同时在config.php和database.php文件中都配置的话,则database.php文件的配置会覆盖config.php中的设置。
独立配置文件的参数获取都是二维配置方式,例如,要获取database独立配置文件的type参数,应该是:
Config::get('database.type');
要获取完整的独立配置文件的参数,则使用:
Config::get('database');
系统默认设置了2个独立配置文件,包括database和validate,分别用于设置数据库配置和验证规则定义。
自动读取扩展配置
版本要求V5.0.1
5.0.1以上版本支持自动读取扩展配置文件(extra_config_list配置参数废弃),只需要将扩展配置文件放入application/extra目录,即可自动读取。
自动读取的配置文件都是二级配置参数,一级配置名称就是扩展配置的文件名。
模块也可以支持自己的扩展配置文件,只需要放入 application/模块名/extra下面就可以自动加载。
系统默认加载的独立配置文件不在此列,包括:
文件名 描述
config 应用或者模块配置文件
database 数据库配置文件
tags 行为定义文件
场景名 应用场景配置文件
如果你更改了CONF_PATH,那么扩展配置文件目录应该是CONF_PATH/extra,模块配置目录则变成 CONF_PATH/module/,模块的扩展配置目录则变成CONF_PATH/module/extra。
Q3: 如何使用PHP生成动态配置文件
将生成过程封装到类,更有重用性,也方便调用。 写入配置文件基类class BaseCacheClass_my_class { var $cache_file; function __construct() { $cachename = trim(str_replace('BaseCacheClass_', '', get_class($this))); $this-cache_file = SYSDIR_CACHE . '/data/base_' . $cachename . '.php'; } public function getCacheFilename() { return $this-cache_file; } public function saveCache($data = null) { if ($data === null) $data = array(); $cachename = trim(str_replace('BaseCacheClass_', '', get_class($this))); $filename = $this-cache_file; $data = var_export($data, true); $data = "?php /** * 读取/从XML创建 base cache 数据文件 */ function loadBaseCache($cachename) { global $_DCACHE; if ( ( ! isset($_DCACHE[$cachename]) || ( ! is_array($_DCACHE[$cachename])) ) ) { $classname = 'BaseCacheClass_'.$cachename; class_exists($classname, false) or require(SYSDIR_CLASS .'/cache/cache_base_' . $cachename . '_class.php'); $cc = new $classname(); if (method_exists($cc, 'getCacheFilename')) $fn_cache = $cc-getCacheFilename(); else $fn_cache = SYSDIR_CACHE . '/base/base_'. $cachename . '.php'; if ( ! file_exists($fn_cache)) $cc-saveCache(); //生成缓存文件 unset($cc); require($fn_cache); //载入缓存文件 } } /** * 重写 base cache 数据文件 */ function saveBaseCache($cachename, $data) { global $_DCACHE; $classname = 'BaseCacheClass_'.$cachename; class_exists($classname, false) or require(SYSDIR_CLASS .'/cache/cache_base_' . $cachename . '_class.php'); $cc = new $classname(); $cc-saveCache($data); //生成缓存文件 unset($cc); unset($_DCACHE[$cachename]); loadBaseCache($cachename); } 写入配置调用方法:saveBaseCache('myconfig', $data);读取配置调用方法: global $_DCACHE;loadBaseCache('myconfig');$data = $_DCACHE['sea_award'];
php数据写到配置文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php配置文件的文件名是什么、php数据写到配置文件的信息别忘了在本站进行查找喔。






