如何从用户处获取输入并将其保存到其他文件中

时间:2017-12-10 16:45:37

标签: php

我想从用户那里获取输入,并在保持当前数据的同时将其保存到其他文件中。 我想从用户

获取以下详细信息
server type : cpanel , FTP , windows , other (drop down)
Hostname 
Username
Password

并将其保存在backup.php文件中。在备份php文件中我已经有格式

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

我想要用户在此文件中提供的详细信息。我可以通过php文件询问这些细节但不确定如何在保留现有数据的同时在backup.php中插入数据

我可以得到一些帮助吗?

由于

1 个答案:

答案 0 :(得分: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!';
}