![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_02.png?8acaa2e)
PHPで何かを作るときに、DBのパスワードや変数の定義をconfig.phpみたいな設定ファイルを作り、各ソースでrequire_once("config.php")等で読み込んで使うようにしています。設定ファイルの変更はテキストエディタでやっているのですが、これをブラウザで読み込んで表示し、登録はテキストファイルやXMLなどに書き出す方法を探しています。
要は、「各設定をブラウザでやって、実際のスクリプトではその設定を読む」みたいなことをやりたいのですが、どういう方法があるのでしょうか?
アドバイス下さい。お願いします。
No.4ベストアンサー
- 回答日時:
追記です
読み込みはparse_ini_fileという便利なものがありましたね。普段使わないのですっかり忘れてました。
http://jp.php.net/manual/ja/function.parse-ini-f …
これを使えばセクションも設定可能です。自前であれこれする必要がなくなります(書き込みは仕方ないですが・・)。
ありがとうございます。
何度も回答頂き感謝いたします。
parse_ini_file、はじめて知りました。
まさにコレって感じで使えそうです。
勉強しながらちょっと使ってみたいと思います。
No.5
- 回答日時:
質問の直接的な答えは他の回答者サンに任せます
あなたの仕様を満たしたものを作った場合、設定を変更するページへのアクセスする方法が何かしらのきっかけで漏洩してしまった場合は第三者がブラウザからパスワード等が簡単にばれてしまうことになりますがよろしいのでしょうか?
設定ファイルなんて一度書いてしまえばそうそう変更するような物でもないですし。わざわざそのような機能を作る意図が良く分からないです。
ありがとうございます。
まぁそうなんですけど、今回質問させて頂いたのは
1つのアプリを汎用というかサーバ環境、ユーザが変わっても簡単に設定が変更出来て、アップロードもあまり出来ないようなユーザにも設定が変更できる様にしたいなと思いまして。
確かにセキュリティはしっかり考えるべきだと思います。
なので、その辺を踏まえながらどのような物にするか考えたいと思います。
No.3
- 回答日時:
仕様をどうしましょうかねぇ・・と思いつつ、ざっくりと(あくまでもサンプルってことで)
<?php
$keys = array('db_host', 'db_nme', 'db_user', 'db_pass');
foreach ($keys as $key) { $$key = ''; }
if ($_POST) {
$fp = fopen("config.php", w);
foreach ($keys as $key) {
$$key = $_POST[$key];
fwrite($fp, $key . "=" . ${$key} . "\n");
}
fclose($fp);
}
?>
<form action="" method="post">
<?php
$array = file("config.php");
foreach ($array as $line) {
list($key, $value) = explode("=", trim($line));
if ($value == '') {continue; }
$$key = $value;
}
foreach ($keys as $key) {
print "{$key}<input type=\"text\" name=\"$key\" value=\"${$key}\"><br />\n";
}
?>
<input type="submit" value="submit">
</form>
慌てて書いたので文法ミスやtypoがあったら適宜修正してください(汗
No.2
- 回答日時:
すごく「ざっくりと」書くとこんな感じですかね・・。
あとは適宜アレンジしてみてください。<?php
if ($_POST) {
$config = $_POST['config'];
$fp = fopen("config.php", w);
fwrite($fp, $config);
fclose($fp);
}
?>
<form action="" method="post">
<textarea name="config">
<?php readfile("config.php"); ?>
</textarea>
<input type="submit" value="submit">
</form>
「textareaなどはみっともないので、項目ごとに入力を・・」となると(configファイルの)ある程度の設計が必要になります(汗
ありがとうございます。
そうなんですよね。1つの項目に<input type="text">とやりたくて、項目が100個くらいあるんです。
それを何か上手に出来ないかと思いまして。
configファイルの書式は限定されても全然いいんですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- PHP phpでcookieがうまく保存されない 2 2023/08/02 16:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
重複確認
-
PHPで変数名にハイフンを使うに...
-
foreachで上限回数指定方法また...
-
マッチング処理(1:N)
-
ラジオボタンをランダムに表示...
-
元号の表示
-
クロス集計で商品名かつサイズ...
-
Delphi XEの警告文を消したい
-
多次元配列のスマートな書き方
-
設定ファイルの読み書き
-
executeの実行が一回しかされない
-
PHP、{}記号の意味
-
配列をループでたくさん宣言し...
-
$_SESSIONに二次元配列を使える...
-
別ファイルの構造体の値を読み...
-
CSVデータを使ったページングと...
-
チェックボックス複数選択 mys...
-
行列
-
配列の添え字が小数だとどうなる?
-
[PHP] fputcsv()関数でファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複確認
-
foreachで上限回数指定方法また...
-
マッチング処理(1:N)
-
Excel VBAでフィルター後の対象...
-
SELECT 使用時の bindValue の...
-
VB.NET で 二次元のハッシュは...
-
多次元配列を、1次元の配列にす...
-
Smartyでインクリメント
-
PHPでこのコード自体に意味は無...
-
PHP、{}記号の意味
-
配列を比較して同じものがあっ...
-
phpでforeachの中にforeachがあ...
-
多次元配列の中で条件に合う要...
-
sqlのデーターを『あ行』『か行...
-
ジャグ配列
-
キーが倍数の時の値の存在チェ...
-
ラジオボタンをランダムに表示...
-
三重県南部の温泉
-
foreachで配列を、左から縦3列...
-
構造体の中でユーザー定義型の...
おすすめ情報