0

基本的に、PHPで構成ファイルを開き、文字列を検索して、後に続くものを置き換える必要があります。作成したコードにある問題は、文字列$db_pass =を見つけて置き換えることができるということです...しかし、ファイルに余分な "password");行があります...したがって、行全体を置き換えることができるようにするか、残りを切り取って削除できるようにする必要があります。

    $dbFile = 'dbconfig.php';
    $String = "\$db_pass =\"new_password\";\n";
    file_put_contents($dbFile, str_replace("\$db_pass =", $String,    file_get_contents($dbFile)));

dbconfig.php

    <?php
    // Database Constants
    db_pass = "hi";
    db_user = "hssi";
?>

私の現在のスクリプトはこのdbconfig.phpのように出力します

       <?php
    // Database Constants
    db_pass = "new_password";
"hi";
    db_user = "hssi";
?>
4

3 に答える 3

2

それ以外の

str_replace("\$db_pass =", $String

使用する:

preg_replace('/\$db_pass = "(.*)";/', $String
于 2012-07-31T15:44:54.280 に答える
2

行の先頭ではなく、正規表現を使用して行全体を置き換える必要があります。preg_replace()検索して正規表現に置き換えるためのPHP関数です。

探していることを実行するためのサンプルコードは次のとおりです。

$dbFile = 'dbconfig.php';
$String = '$db_pass = "new_password";';
file_put_contents(
    $dbFile,
    preg_replace('/\$db_pass = "(.*)";/', $String, file_get_contents($dbFile))
);
于 2012-07-31T15:49:32.640 に答える
0

これを見てください:http://php.net/manual/en/function.parse-ini-file.php

于 2012-07-31T15:44:31.647 に答える