2017-12-10 24 views
0

現在のデータを保持しながら、ユーザーからの入力を他のファイルに保存したいと考えています。 私は、ユーザーユーザーから入力して他のファイルに保存する方法

server type : cpanel , FTP , windows , other (drop down) 
Hostname 
Username 
Password 

から詳細の下に取り、backup.phpファイルにそれを保存したいです。バックアップされたphpファイルにはすでにフォーマットがあります

<?php 
include xmlapi.php 
$hostname= ""; 
$username = ""; 
$password = " "; 
?> 

このファイルにはユーザーの詳細が表示されます。私はこれらの詳細を尋ねるためにphpファイルを生成することができますが、既存のデータを保持しながらbackup.phpにデータを挿入する方法がわかりません

私はそれについていくつかの助けを得ることができますか?この設定を使用して

おかげ

+0

ファイルを生成(及び追加を取得するためのあなたの現在のコードを表示してくださいデータ、もしあれば)。 –

+0

これはひどい考えです。あなたがしていることについて他に考えてください – RiggsFolly

答えて

0

<?php 
include xmlapi.php 
$hostname = ""; 
$username = ""; 
$password = ""; 
?> 

これは、ユーザーを書きますが、そのファイルにデータを提出:

<?php 
$filename = "backup.php"; 
$user_data = $_POST; // contains $_POST['hostname'], $_POST['username'], etc 
if(file_exists($filename)) 
{ 
    $error_line = ''; 
    foreach ($user_data as $config_name => $new_value) 
    { 
     $out = ''; 
     $file = fopen($filename,'r+'); 
     while(!feof($file)) 
     { 
      $line = fgets($file); 
      $pattern_open = preg_match('/\$'.$config_name.'[ ]*=\s/i', $line, $matches_open); 
      $pattern_close = preg_match('/;.*\n/i', $line, $matches_close); 
      $out .= $matches_open != FALSE ? $matches_open[0] . "'" . $new_value . "'" . $matches_close[0] : $line; 
     } 
     fclose($file); 
     if (!file_put_contents($filename, $out)) 
     { 
      if ($config_name === key($user_data)) 
      { 
       $error_line .= "$config_name"; 
      } 
      else 
      { 
       $error_line .= "$config_name, "; 
      } 
     } 
    } 
    if ($error_line != NULL) 
    { 
     echo 'Error at line : ' . $error_line; 
    } 
    else 
    { 
     echo 'Config saved'; 
    } 
} 
else 
{ 
    echo 'File not found!'; 
} 
関連する問題