我一个脚本从这里用户工作的编辑对我的VPS文件,到目前为止,感谢帮助,我有以下几点:PHP的形式EXEC,sed和的file_get_contents
<?php
if(!empty($_REQUEST['color_choice'])){
exec('sed -i '.escapeshellarg('s/color=.*/color='.$_REQUEST['color_choice'].'/g')." /home/user/colors/color.choices");
echo 'File color choice has been updated';
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="color_choice">;
<option value="red">red</option>;
<option value="blue">blue</option>;
<option value="black">black</option>;
<option value="orange">orange</option>;
</select>
<input type="submit" name="Submit" value="Submit" />
</form>
这改变了价值观根据需要,但我还有一个问题,我仍然试图解决。该脚本没有得到文件本身的当前值,所以当我第一次访问该页面时,它总是说“红色”。在我做出改变后,它仍然在php表单上显示“红色”。
编辑:我希望窗体始终在color.choices文件中显示当前值,而不是每次都回到“红色”。如果我将窗体上的值更改为“蓝色”,我希望窗体显示文件中的当前值设置为“蓝色”。
我被告知我需要使用“file_get_contents”来首先从文件本身检索值。我做了一些尝试,但我没有得到任何地方。如果我需要添加更多信息,请告诉我!
我想帮助你,但你目前的问题有点不清楚。提供有关从中检索信息所需的文件的更多详细信息。鉴于您目前的问题,您很难准确理解您的代码的作用(它只是一个简单的表单和exec调用)。你的应用程序目前做了什么,它应该做什么?提交表单的前提条件/后提条件?给我们更多的细节,以便我们帮助!附:你不应该把表单提交给$ _SERVER ['PHP_SELF'] - 坏习惯! ---
您需要先获取值,然后将其设置为表单上的默认选项。你现在如何检索价值?或者存储的值在哪里? –
我的脚本只是一个简单的表单和exec调用,文件本身只有以下值:color = x。我基本上希望表单始终反映服务器上文件中的当前值。所以如果我将表单字段的值更改为蓝色,我希望它显示该值现在在窗体上设置为蓝色。目前,即使进行了更改,每次都会显示“红色”。同样,当我回到页面时,即使数值已变为蓝色,它也会显示为红色。 – jcrane