2011-06-20 18 views
9

私がやろうとしているのは、phpシステムインストールの最初のステップとして、ユーザーがデータベース、ユーザー名、パスワード、およびホストを入力するインストールファイルを作成することです。phpを使って.phpファイルを作成するには?

+3

リファレンス:[PHP:ファイルシステム機能(http://php.net/manual/en/ref.filesystem.php) –

+0

['file_put_contents()']](http://www.php.net/manual/en/function.file-put-contents.php) –

+0

http://php.net/function.fwrite –

答えて

9

拡張子を追加します。言及した他のものと同じように、php拡張子を持つファイルを書くだけです。

しかし、構成データ用のiniファイルを書き、後でparse_ini_fileをロードします。

更新:ここはそれを行うための例である:

<?php 
$config = array(
    "database" => "test", 
    "user"  => "testUser" 
); 

function writeConfig($filename, $config) { 
    $fh = fopen($filename, "w"); 
    if (!is_resource($fh)) { 
     return false; 
    } 
    foreach ($config as $key => $value) { 
     fwrite($fh, sprintf("%s = %s\n", $key, $value)); 
    } 
    fclose($fh); 

    return true; 
} 

function readConfig($filename) { 
    return parse_ini_file($filename, false, INI_SCANNER_NORMAL); 
} 

var_dump(writeConfig("test.ini", $config)); 
var_dump(readConfig("test.ini")); 
+0

あなたはそれについてもっと教えてくれませんか? (iniファイルを書き込む)を使って設定ファイルを作成するインストーラを作成するにはどうすればよいですか? –

+1

私は例を追加しましたが、あまりにも多くのエラー処理をしない単純な例です。スペースを含むパラメータを持つ場合は、 'sprintf'でエスケープする必要があります。 –

+0

私はそれを試みましたが、エラーが発生しました:警告:parse_ini_file()のパラメータカウントが間違っています。また、フォーム入力を使用して設定ファイルを作成する方法と、Webサイトの各ページのデータベースに接続するために設定ファイルを読み込む方法はありますか? –

12

それはあなたが他のファイルを作成しているのと同じですが、ちょうどそれが簡単だ.php

$fp=fopen('filename.php','w'); 
fwrite($fp, 'data to be written'); 
fclose($fp); 
+1

ありがとうございますが、.phpページを書く際にフォーム入力を使用する方法: たとえば、ユーザーがデータベース名を入力すると、作成するconfig.phpファイルで使用する必要があります。 $ database = $ _POST ['database']を使用することは可能ですか? fwrite関数の中で? –

関連する問題