2017-03-13 16 views
0

私はawkでphpを使用しようとしています。 awkコマンドは、データベースのパスワードを出力するだけで、PHPコードに入力してmysqlに接続し、残りのコードを処理することができます。 私のawkのコードは、(PHPファイルに)次のようになります。awk with phpとmysql

$pass = system('awk FS='=' '/Mydbpass/ {print $2}'; file.conf'); 

このコードは完璧に動作しますが、それは私がPHPのmysqlはそれを読むことができますどのように、私は私のブラウザでは、PHPファイルを開くpasswodを印刷します印刷せずに?私はインクルードを使用しますが、file.confはパスワードを変数として持っていません。これに他の方法がある場合は、共有してください。

答えて

0

exec関数を使用すると、実行中のコマンドの出力を出力に送信せずに返します。

しかし、あなたのPHPスクリプトでファイルを直接読んでそこで解析するほうがずっと良いでしょう。以下のような何か:

#open the file 
$fp = fopen('file.conf', 'r'); 
if ($fp) { 
    while(($line = fgets($fp)) !== false){ 
     #split the line using = as delimiter 
     $cols = array_map(trim, explode('=', $line)); 

     #do something with the columns 
     print_r($cols); 

    } 
    fclose($fp); 
} 
+0

[OK]を以下のように入力ファイルを持っている場合、私はその感謝をしようとします –

0

使用parse_ini_file()それは物事のこの種の、system機能とを使用する必要はありませんのために最高のスーツ、あなたは自体にこれを達成することができます。例えば

<?php 
     $content=parse_ini_file("your.conf"); 

     // Your password 
     $password = $content['Mydbpass']; 
?> 

あなたは

入力

$ cat test.conf 
Mydbpass=somesecretpass 
Mydbuser=user12344 

出力

$ php -r '$content=parse_ini_file("test.conf");print_r($content);' 
Array 
(
    [Mydbpass] => somesecretpass 
    [Mydbuser] => user12344 
)