ほとんどの場合、@uzyn と @Ibu に同意します。データベースの使用について詳しく学び、それを構成データに使用することをお勧めします。そうは言っても、完全を期すために以下を提供します。ただし、この方法にはセキュリティ上の問題があることに注意してください。
3 つのファイルを作成しました。config.cfg という名前の構成ファイル。show_config.php という名前の構成を表示する PHP ファイル。write_config.php という名前の別の PHP ファイルを使用して構成の変更を保存し、show_config.php を呼び出して構成を再表示します。すべてが単純化しすぎており、以下に表示されています。
[config.cfg]
cfg_data: 42
[show_config.php]
<html>
<head>
<title>Configuration</title>
</head>
<body>
<?php
$cfg_name = "config.cfg";
$cfg_data = file_get_contents($cfg_name);
$lines = explode("\n", $cfg_data);
$cfg_vals = explode(":", $lines[0]);
$cfg_value = trim($cfg_vals[1]);
?>
<form action="write_config.php">
Configuration Value: <?php echo "<input type=\"text\" name=\"config_val\" value=\"$cfg_value \" >" ?> </input>
<br>
<input type="submit">
</form>
</body>
</html>
[write_config.php]
<?php
$cfg_name = "config.cfg";
$new_data = "cfg_data: " . $_REQUEST['config_val'];
if (file_exists($cfg_name)) {
unlink($cfg_name);
}
try {
file_put_contents($cfg_name, $new_data);
} catch (Exception $e) {
echo "Exception caught! " . $e -> getMessage() . "<br> \n";
}
header("Location:show_config.php");
$cfg_name = "config.cfg";
$new_data = "cfg_data: " . $_REQUEST['config_val'];
if (file_exists($cfg_name)) {
unlink($cfg_name);
}
try {
file_put_contents($cfg_name, $new_data);
} catch (Exception $e) {
echo "Exception caught! " . $e -> getMessage() . "<br> \n";
}
header("Location:show_config.php");
?>
これを機能させるには、config.cfg のパーミッションを (を使用して> chmod o+wx config.cfg
) o:rwx に設定する必要がありましたが、これはセキュリティ上の問題の 1 つです。また、このコードは入力サニタイズを行いません。実際にこのようなものを使用する場合は、何かを保存する前に、すべてのユーザー入力を確認して消去する必要があります。