如何将文本文件的数据保存到变量中并在php文件上读取/显示?

约翰120

我在php上建立了一个网站,并希望从文本文件中读取一些信息。原因是,如果我想更新连接字符串,数据库名称,超链接,回显消息等,那么我就不想更新我的php代码,我只是替换文本文件中的该文本,而相对变化则反映在php文件中。

例如,

1.一个php文件:

    <?php
    $servername = "Server_Name";   //Comes from db_config.txt file
    $username = "User_Name";       //Comes from db_config.txt file
    $password = "Password";        //Comes from db_config.txt file

    // Create connection
    $conn = new mysqli($servername, $username, $password);

    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    echo "Conn_Succ_Msg";    //Comes from db_config.txt file
    ?>  

2.文本文件,如:(db_config.txt)

    Server_Name = localhost
    User_Name = abc
    Password = 123
    Conn_Succ_Msg = Connected successfully

我从http://www.w3schools.com/php/php_file_open.asp学习了“ PHP 5 File Open / Read / Close”,但是即使在xml文件中也没有实现它的方法,但也没问题。还是可以使用Java脚本,jquery等。任何想法如何做到这一点?

布拉泽格

对于像这样的简单任务,我将使用file()函数:

$config = file("db_config.txt");

因此,您将获得一个数组,其中每行都有一个单元格。然后,您可以解析:

foreach ($config as $parameter)
{
     $ar = explode(" = ", $parameter);
     $$ar[0] = $ar[1];
}

请注意,“ $$ ar [0]”的分配有两个$$:这将创建一个新变量,其名称将为$ ar [0]的内容。这样,您会将所有参数作为具有相同名称($ Server_Name,$ User_Name等)的变量。

然后,您的最终脚本:

$config = file("db_config.txt");

foreach ($config as $parameter)
{
     $ar = explode(" = ", $parameter);
     $$ar[0] = $ar[1];
}

// Create connection
$conn = new mysqli($Server_Name, $User_name, $Password);

// Check connection
if ($conn->connect_error)
{
    die("Connection failed: " . $conn->connect_error);
}
echo $Conn_Succ_Msg;

因此,这不是最佳方法。您应该创建一个.php文件,并将所有参数定义为PHP变量,然后将其包括在内,如下所示:

示例db_config.php:

$Server_Name = 'localhost';
$User_Name = 'abc';
$Password = '123';
$Conn_Succ_Msg = 'Connected successfully';

然后在您的PHP脚本的开头添加:

include('db_config.php');

// Create connection
$conn = new mysqli($Server_Name, $User_name, $Password);

// Check connection
if ($conn->connect_error)
{
    die("Connection failed: " . $conn->connect_error);
}
echo $Conn_Succ_Msg;

这样比较安全,因为如果您设置了错误的文件权限,您就不会冒险有人可以通过URL直接访问您的文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

每次如何将变量保存到文本文件中的新行中?

如何将数据框信息的输出保存到Excel或文本文件中

如何将 OSRM 中的 geojson 数据保存到文本文件

如何将坐标保存到文本文件?

Windows:如何将变量-(输入:路径)保存到文本文件

如何将提取的数据保存到文本文件

如何将表单数据保存到文本文件?

如何逐行读取sftp文本文件的内容并保存到数据库中?

当Windows上没有`tee`时,如何将ipconfig输出保存到文本文件中?

如何将多维数组保存到平面文本文件-PHP

如何将 HashSet 保存到 Scala 中的纯文本文件中

如何将输出保存到python中的文本文件中?

如何将2d numpy数组保存到文本文件中

如何将 printf 的输出保存到文本文件中?

您如何将输入保存到文本文件中?

Python:如何将生成器输出保存到文本文件中?

如何将FP-Growth模型FrequentItemSet结果保存到文本文件中?

如何将 TextBoxes 值保存到多行文本文件中

如何将控制台打印语句保存到 Xcode 中的文本文件?

如何将文本文件中的特定行保存到特定数组?

如何从文本文件中读取和保存数据?

将变量内容保存到文本文件

将ipython变量保存到文本文件

VB.net如何将一些文本框文本保存到文本文件中

仅读取文本文件中的特定行,并将匹配项保存到变量中

如何将多个文本文件读取到pyspark中的数据框中

如何将文本文件保存到特定文件夹

将VB数据输入保存到文本文件

如何避免将字典数据保存到文本文件,导致在保存的文本文件中创建多个字典