duanguochi6194 2017-07-06 05:07
浏览 284
已采纳

如何使用另一个php文件编辑php文件的变量

Ok so I want to do something similar to how Simple Machine Forum edits some variable within the Admin panel on the forum. For instance I have a settings.php file. I want tool.php to open and find all declared php variables in the settings.php like $background_color='Orange' and output in tools.php Background Color: Orange inside of a form tag that, once changed to 'Purple' and submitted, replaces 'Orange' with 'Purple' and now if i open 'settings.php' the variable inside the file is now "$background_color='Purple'" without having to go in an manually edit it. I can just submit the new data for the variable and replace the old.

  • 写回答

3条回答 默认 最新

  • doqau82086 2017-07-06 08:33
    关注

    To keep the data persistent, you will need to store data in a database or separate file e.g. JSON file. Then you can use that data everywhere it is needed.

    Here is an example using a JSON file.

    setting_variables.json:

    {
        "background": "red",
        "color": "white"
    }
    

    settings.php

    $settings = json_decode(file_get_contents("settings_variables.json"), true);
    $background = $settings['background'];
    

    tools.php

    include ("settings.php");
    
    // If form is posted
    if(isset($_POST['submit'])){
        /* Updating variables in JSON file*/
    
        //Get settings_json file
        $setting_vars = json_decode(file_get_contents('settings_variables.json'), true);
    
        // Update variable
        $background = $setting_vars['background'] = $_POST['color'];
    
        // Store variable value to JSON file
        file_put_contents("settings_variables.json", json_encode($setting_vars));
    }
    
    ?>
    
    <form method="post" <?php echo "style='background-color:".$background . "'"; ?>>
        <select name="color">
        <option value="red">red</option>
        <option value="blue">blue</option>
        <option value="orange">orange</option>
        <option value="yellow">yellow</option>
        <option value="purple">purple</option>
      </select>
      <input type="submit" name="submit"/>
    </form>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格