PHP动态修改配置文件

NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty() Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to()输出(llama) (base) [root@localhost home]# nvidia-smi Unable to determine the device handle for GPU0000:09:00.0: Unknown Error。这是典型的“孤儿进程”,但它还是。(僵尸进程),占用 GPU 资源。如果进程仍然不消失,并且。,这意味着它的父进程是。 阅读详情

一个动态网站,一般都会有各种后台配置,如果配置量不多,单独设计一张表就显得有些浪费资源了

有些童鞋们喜欢将各种配置直接存储在项目中,想做到后台可以控制,就需要一套对配置文件做增删改查的操作方法了

不说废话直接让我们,哒~哒~哒~

新建一个 PHP 文件,命名为 Config.class.php,然后按照注释中的内容来使用就行~

/* 
* @link https://mkblog.cn/ 
* @author mengkun 
* @license MIT 
*/  

/** 
 * PHP 无数据库配置文件增删查改模块 
 * !注:本模块未对高并发进行优化兼容,如果数据量或并发过大,还是用数据库比较好 ? 
 *  
 * 使用方法: 
 *  
 * 一、引用本模块 
 *  
 *  require_once 'Config.class.php'; 
 *  
 *  
 * 二、初始化 
 *  
 *  $C = new Config('配置文件名');  // * 如果是在二级目录下,请确保该目录存在 
 *  
 *  
 * 三、内置方法 
 *  
 *  - 存储(如果已存在则是修改)单条数据 
 *  
 *      $C->set('sitename', '哒哒哒'); 
 *  
 *  
 *  - 存储(如果已存在则是修改)一个数组 
 *       
 *      $C->set('user', array('name'=>'peter', 'age'=>12)); 
 *  
 *  
 *  - 读取一条数据 
 *  
 *      $C->get('user', '默认值'); 
 *  
 *  
 *  - 删除一条数据 
 *  
 *      $C->delete('user'); 
 *  
 *  
 *  - 保存对数据的修改 
 *  
 *      $C->save();     // 保存成功返回 true,否则返回失败原因 
 *  
 *   
 * * 注:为了避免频繁地写文件,以上所有对数据的操作都必须调用一次 $C->save(); 才会真正被保存到配置文件中 
 *       建议将所有的数据操作都执行完后再进行存储操作。 
 *  
 *  
 * * 附:精简写法 
 *  
 *      $C->set('sitename', '哒哒哒')->save(); 
 */  

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;  
    }  
}  

代码截取来源mengken博客

【100%通过率】华为od 机试真题 C语言 实现【补种未成活胡杨】 近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树? 阅读详情

相关推荐

计算pi小数点后10000位

数据结构课上,老师让我们计算一下pi的10000位,复习一下面向对象。 First Try:定义一个高精度类hp(high precision),实现加减乘除,输入输出,然后随便找一个公式,比如Wallis公式,全都用hp进行计算。 现实是:大数乘大数或者大数除大数,实在是太慢了。而且Wallis公式收敛太慢。 Second Try先找到一个收敛较快的公司:BBP公式,观察公式发现,...

我的技术人生 7395

PHP修改配置文件的两种方法

内容不错请点个赞吧,您的点赞是我前进的动力 引言 我们在PHP开发过程中经常有需要修改配置文件的场景,本文将介绍两种修改配置文件的方法,如有不足,欢迎指出! 正文   我们假设有个这样的配置文件(如果是其他格式也差不多,可将代码稍加改动) config.php <?php return [ 'name' => '滑稽mc', 'password' => '123456', 'app' => '优快云', 'language' => 'PHP', ]; 方法一  .

m0_50132042的博客 1537

Minecraft Forge模组开发入门:从环境搭建到事件监听实战

事件驱动编程是一种基于事件和事件监听器的软件架构模式,其核心原理是通过事件总线实现组件间的松耦合通信。在游戏开发领域,这种模式能够有效处理玩家交互、状态变更等异步操作,具有高度的灵活性和可扩展性。Java作为面向对象编程语言,通过注解和反射机制为事件驱动提供了天然支持。Minecraft模组开发正是事件驱动编程的典型应用场景,开发者可以利用Forge框架提供的事件总线监听游戏内各种行为。本文以Minecraft Forge模组开发为例,详细讲解如何通过Gradle构建工具搭建开发环境,并实现自定义方块注册和

culi3182的博客 395

Fastadmin 系统配置里数据刷新到site.php文件

Fastadmin 系统配置里数据刷新到site.php文件

记录开发过程中收获哪些技能、每个项目的心得、遇到的坑。 931

Paho Asynchronous MQTT C Client Library--MQTTAsync API

异步MQTT 客户端库for C

yoyo勰的博客 1264

数字IC后端PPA优化实战:Timing一致性策略与Module Region布局技巧

本文深入探讨了数字IC后端设计中的PPA优化实战,重点解析了Timing一致性问题及其解决方案。通过调整Clock Uncertainty、Timing Derate和RC Scale Factor等关键参数,使Innovus等PR工具的分析结果更接近PrimeTime签核结果。同时,文章详细介绍了Module Region布局技巧,通过为关键模块划定物理区域,优化单元摆放,有效减少线延迟,从而协同提升时序收敛效率与设计可预测性。

weixin_29218963的博客 203

php修改配置文件(ThinkPHP5.0)

在实际项目中,有的配置为动态变化,然而设计数据库会很麻烦效率又低,所以可以直接在配置文件中做考虑了。 框架:ThinkPHP5.0 框架默认配置文件目录为applocation/extra,在这里可以自定义配置文件。 /** * 修改扩展配置文件 * @param array $arr 需要更新或添加的配置 * @param string $file 配置文件名(不需要后辍) ...

Marhal的博客 1377

【华为鸿蒙3.0/荣耀安卓12使用VMOS Pro的激活方式】

解压激活工具 →连接数据线 轻松搞定激活!

Amy_mumu的博客 142万+

深入理解php中的ini配置(2)

继续接着上一篇写。 运行时改变配置 在前一篇中曾经谈到,ini_set函数可以在php执行的过程中,动态修改php的部分配置。注意,仅仅是部分,并非所有的配置都可以动态修改。关于ini配置的可修改性,参见:http://php.net/manual/zh/configuration.changes.modes.php 我们直接进入ini_set的实现,函数虽然有点长,但是逻辑很清晰: ...

weixin_30444105的博客 196

数据治理——详解元数据、资源目录、主数据、数据元、元数据管理、主数据管理【附全文阅读】

摘要:数据中心建设的核心是元数据管理,即"描述数据的数据",包含内容、质量、所有者等关键信息。元数据在数据仓库中记录数据源、转换规则等,是管理基础;主数据管理则确保核心业务数据的准确一致。二者共同构建高效的数据资源目录,为数据服务提供支撑。(99字)

cdfunlove的博客 102

YOLOv11改进 - 卷积Conv | PConv(Pinwheel-shaped Conv): 风车状卷积用于红外小目标检测 | AAAI 2025

本文介绍了风车状卷积(PConv)和基于尺度的动态(SD)损失在YOLOv11中的结合应用。PConv采用不对称填充,通过特殊结构设计、卷积运算和分组卷积技术,能更好地适应红外小目标的像素高斯空间分布,在少量增加参数的情况下极大扩展感受野。SD损失可根据目标大小动态调整尺度和位置损失的影响。我们将PConv集成到YOLOv11的主干网络低层,并在相关配置文件中进行设置。实验证明,YOLOv11 - PConv在IRSTD - 1K和SIRST - UAVB数据集上取得显著性能提升,验证了方法的有效性和泛化能

魔改工程师的博客 1335

PHP用文件存储配置,一行代码搞定保存数组配置到PHP文件

在PHP中,可以直接通过include '文件名.php';的方式获取到文件的返回值。例如有一个db.php文件,内容为:return array('DB_HOST' => 'localhost','DB_NAME' => 'mydb','DB_USER' => 'root','DB_PWD' => '123456',);通过下面语句:$dbConfig ...

weixin_32440261的博客 290

【保姆级教程】YOLOv8_Pose多目标+关键点检测:训练自己的数据集

【保姆级教程】YOLOv8_Pose多目标+关键点检测:训练自己的数据集

m0_51579041的博客 1万+

PHP动态修改PHP配置文件(通过正则替换)

PHP动态修改PHP配置文件(通过正则替换) PHP配置文件 <?php $kstime = 0; ?> 获取传值并修改配置文件 <?php $kstime = $_REQUEST["kstime"]; if ($kstime <>''){ $info=file_get_contents("../config/config.php");//打开文件 $pattern = '/kstime= (.*?);/';//正则语句 $info = pr

weixin_45582297的博客 270

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何修改php配置文件,PHP如何动态修改配置文件

这篇文章主要介绍了关于PHP如何动态修改配置文件,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下一个动态网站,一般都会有各种后台配置,如果配置量不多,单独设计一张表就显得有些浪费资源了有些童鞋们喜欢将各种配置直接存储在项目中,想做到后台可以控制,就需要一套对配置文件做增删改查的操作方法了不说废话直接让我们,哒~哒~哒~新建一个 PHP 文件,命名为 Config.class.php,...

weixin_39759995的博客 362

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

PHP动态修改配置文件——php经典实例

文件结构: index.php 主页 config  配置文件 doUpdate.php 修改功能页 index.php <html> <head> <title>修改配置</title> <meta charset='utf-8' /> </hea...

diaobang0776的博客 209

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

php经典实例使用正则动态修改配置文件

================================================ php基础示例--正则表达式--动态修改配置文件 ================================================ 一、相关的知识点: 正表达式: preg_match_all -- 进行全局正则表达式匹配 preg_replace -- 执行正则表达式的搜索和替换

二当家的 531

tp5 config.php,tp5 动态永久修改 config.php 配置文件

官方提供了 config 的动态修改配置方法,但不是永久性的,下面提供一个方法直接正则匹配修改文件内容/***动态永久修改config文件内容*@param$key*@param$value*@returnbool|int*/functionsetConfig($key,$value){$fileUrl=APP_PATH."config.php";$config=...

weixin_27322123的博客 989

php 动态修改网站配置,PHP如何动态修改配置文件

这篇文章主要介绍了关于PHP如何动态修改配置文件,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下一个动态网站,一般都会有各种后台配置,如果配置量不多,单独设计一张表就显得有些浪费资源了有些童鞋们喜欢将各种配置直接存储在项目中,想做到后台可以控制,就需要一套对配置文件做增删改查的操作方法了不说废话直接让我们,哒~哒~哒~新建一个 PHP 文件,命名为 Config.class.php,...

weixin_32938207的博客 222
上一篇: PHP字符串加密增强版
下一篇: Linux 下建立 Git 与 GitHub 的连接并克隆到本地
NoBugExists
博客等级 码龄9年 8粉丝 32原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值