制作PHP配置文件

时间:2013-06-06 17:05:16

标签: php configuration

我正在尝试制作一个简单的PHP设置文件。它的工作原理如下:

<?php //settings.php
    $setting1 = "Something";
    $setting2 = "somethingelse";
?>

然后我有一个html表单,提交到另一个文件,我很好奇,是如何将“settings.php”中的设置更改为表单中提交的数据,然后保存文件..如果这甚至可能。我知道一种方法是

  1. 包含settings.php
  2. 相应地更改设置
  3. 删除settings.php
  4. 重新创建settings.php文件的字符串
  5. 将字符串写入新的settings.php文件
  6. 但我想知道是否有更简单的方法..因为我的settings.php相当冗长..任何帮助都会很棒:3如果这是一个愚蠢的问题,我道歉。我只是好奇天气,有没有办法做到这一点。提前谢谢!

    修改

      

    经过四年的反思和成长,我发现这个想法很疯狂。如果要管理配置,最好的方法(imho)将使用数组包含文件。永远不应该修改配置(我在第2,3,3,4和5点中请求过。

         

    如果您正在寻找更深入的配置库,请查看我的同事编写的Gestalt库。

    示例

    // main.php
    <?php
        $config = include_once 'config.php';
    
        echo 'Configured name is: ' . $config['main']['name'];
    

    // config.php
    <?php
        return [
            'main' => [
                'name' => 'Nathan'
            ]
        ];
    

2 个答案:

答案 0 :(得分:1)

这不一定是一个愚蠢的问题,但这是一个令人难以置信的愚蠢想法。

考虑提交价值为“rmdir('/');”。

的表单的人

如果你真的想做这样的事情,你最好使用不可执行的JSON之类的东西。

答案 1 :(得分:0)

settings.php需要是.php文件吗?如果没有,您可以创建一个这样的表单:

<form id="settings" action="submit.php" method="post">
Setting one: <input type="text" name="set1" value="" width="10" ><br />
Setting Two: <input type="text" name="set2" value="" width="10"><br />
    Setting Three: <input type="text" name="set3" value="" width="10"><br />
<input type="submit" value="Submit settings"  >
</form>

然后创建一个“submit.php”以便以可用的格式将文件写入服务器:

$filename = $_POST['filename'] . '.csv';
$export = $_POST['export'];
$writer = fopen($filename, 'w') or die('cannot create');
fwrite($writer, $export . "\n");
fclose($writer);

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename='.basename($filename));
readfile($filename);
unlink($filename);

exit();

我认为这应该适合你的目的。