多くの助けを借りて、VPS 上のファイルを編集するスクリプトを作成しました。うまく機能していますが、完全に困惑している問題が 1 つあります。ファイルの値を 0 に調整する必要がある場合、機能しません。value="3"
0 ( ) 以外のほとんどすべての値 (つまり ) が機能しvalue="0"
ます。私はとても混乱しています。スクリプトで color= の値をcolor=0
に変更する必要があります。なぜ 0 が機能しないのかわかりませんが、他の数字や文字は機能します。これが私のコードです:
<?php
//Color
$color = explode("=", trim($contents[1]));
if(isset($_REQUEST['difficulty_choice'])){
exec('sed -i '.escapeshellarg('s/color=.*/color='.$_REQUEST['color_choice'].'/g')." /home/user/color.props");
echo 'Color choice has been updated';
}
?>
<?php echo $contents[1]; //Color ?>
<form method="get" action="update.php">
<select name="color_choice">;
<option value="0" <?php if($color[1] == '0'){?>selected="selected"<?php }?>>Red</option>;
<option value="1" <?php if($color[1] == '1'){?>selected="selected"<?php }?>>Blue</option>;
<option value="2" <?php if($color[1] == '2'){?>selected="selected"<?php }?>>Black</option>;
<option value="3" <?php if($color[1] == '3'){?>selected="selected"<?php }?>>Yellow</option>;
</select>
<input type="submit" name="Submit" value="Submit" />
</form>
ファイルの内容:
# The color file
color=1
更新: !empty を isset に切り替えたところ、動作しました!