我正在编写一个脚本来编辑我的 vps 上的文件,到目前为止,感谢这里用户的帮助,我有以下内容:
<?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”首先从文件本身中检索值。我做了一些尝试,但我没有得到任何地方。如果我需要添加更多信息,请告诉我!