0

簡単なPHP設定ファイルを作ろうとしています。それはこのように動作します:

<?php //settings.php
    $setting1 = "Something";
    $setting2 = "somethingelse";
?>

次に、別のファイルに送信される html フォームがあります。気になるのは、「settings.php」の設定をフォームで送信されたデータに変更し、ファイルを保存する方法です.それが可能であれば. 私は1つの方法が

  1. settings.php を含める
  2. それに応じて設定を変更します
  3. settings.php を削除
  4. settings.php ファイルの文字列を再作成します
  5. 文字列を新しい settings.php ファイルに書き出します

しかし、もっと簡単な方法があるかどうか疑問に思っています..私のsettings.phpはかなり長いので..どんな助けも素晴らしいでしょう:3 これを行う方法があるかどうか、天気に興味があります。前もって感謝します!

編集

熟考し、成長するために 4 年間過ごした後、私はこの考えが非常識であることに気付きました。構成を管理したい場合、最善の方法 (imho) は、配列インクルード ファイルを使用することです。構成は絶対に変更しないでください (ポイント 2.、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'
        ]
    ];
4

2 に答える 2

1

それは必ずしもばかげた質問ではありませんが、信じられないほどばかげた考えです。

誰かが値「rmdir('/');」でフォームを送信したとします。

本当にこのようなことをしたい場合は、実行できない JSON のようなものを使用する方がよいでしょう。

于 2013-06-06T17:09:34.847 に答える
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();

それはあなたの目的に合うはずだと思います。

于 2013-06-06T17:13:51.397 に答える