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条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序