首页 / PHP / php无数据库读写配置-为网站写后台
php无数据库读写配置-为网站写后台
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php无数据库读写配置-为网站写后台,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2238字,纯文字阅读大概需要4分钟。
内容图文
![php无数据库读写配置-为网站写后台](/upload/InfoBanner/zyjiaocheng/894/8f9c83a8899147cb9a126c626808c4a0.jpg)
php无数据库读写配置
做小网站,或者业务中无需数据库的网站,常常需要一些配置项,如果为了配置这些参数使用数据库实在是太麻烦,这里记录下配置文件的修改
实现逻辑
- 程序中使用一个文件用来存储配置参数,如:“config.php”
- “config.php”文件中存储json格式的参数
- 对“config.php”文件进行读写,以达到读写配置的目的
参见
示例代码
GitHub地址:无数据库读写配置
主要代码
config.class.php
<?php
define('CONFIG_EXIT', '<?php exit;?>');
class Config {
private $data;
private $file;
/**
* 构造函数
* @param $file 存储数据文件
* @return
*/
function __construct($file) {
$file = $file . '.php';
$this->file = $file;
$this->data = self::read($file);
}
/**
* 读取配置文件
* @param $file 要读取的数据文件
* @return 读取到的全部数据信息
*/
public function read($file) {
if (!file_exists($file)) return array();
$str = file_get_contents($file);
$str = substr($str, strlen(CONFIG_EXIT));
$data = json_decode($str, true);
if (is_null($data)) return array();
return $data;
}
/**
* 获取指定项的值
* @param $key 要获取的项名
* @param $default 默认值
* @return data
*/
public function get($key = null, $default = '') {
if (is_null($key)) return $this->data; // 取全部数据
if (isset($this->data[$key])) return $this->data[$key];
return $default;
}
/**
* 设置指定项的值
* @param $key 要设置的项名
* @param $value 值
* @return null
*/
public function set($key, $value) {
if (is_string($key)) { // 更新单条数据
$this->data[$key] = $value;
} else if (is_array($key)) { // 更新多条数据
foreach ($this->data as $k => $v) {
if ($v[$key[0]] == $key[1]) {
$this->data[$k][$value[0]] = $value[1];
}
}
}
return $this;
}
/**
* 删除并清空指定项
* @param $key 删除项名
* @return null
*/
public function delete($key) {
unset($this->data[$key]);
return $this;
}
/**
* 保存配置文件
* @param $file 要保存的数据文件
* @return true-成功 其它-保存失败原因
*/
public function save() {
if (defined('JSON_PRETTY_PRINT')) {
$jsonStr = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
} else {
$jsonStr = json_encode($this->data);
}
// 含有二进制或非utf8字符串对应检测
if (is_null($jsonStr)) return '数据文件有误';
$buffer = CONFIG_EXIT . $jsonStr;
$file_strm = fopen($this->file, 'w');
if (!$file_strm) return '写入文件失败,请赋予 ' . $file . ' 文件写权限!';
fwrite($file_strm, $buffer);
fclose($file_strm);
return true;
}
}
内容总结
以上是互联网集市为您收集整理的php无数据库读写配置-为网站写后台全部内容,希望文章能够帮你解决php无数据库读写配置-为网站写后台所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。