我在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] 删除。
我来说两句