我正在尝试制作一个简单的PHP设置文件。它的工作原理如下:
<?php //settings.php
$setting1 = "Something";
$setting2 = "somethingelse";
?>
然后我有一个html表单,提交到另一个文件,我很好奇,是如何将“settings.php”中的设置更改为表单中提交的数据,然后保存文件..如果这甚至可能。我知道一种方法是
但我想知道是否有更简单的方法..因为我的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'
]
];
答案 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();
我认为这应该适合你的目的。