组合php字符串

时间:2017-01-22 19:35:55

标签: php

我有两个文件,一个config.php和一个子目录中的source.php。在配置文件中,我有一些看起来像这样的东西

<?php
//app settings
$GLOBALS['app_url'] = 'http://www.website.com/subdirectory'; //ex: 
//demo mode
$GLOBALS['demo_mode'] = 0; //possible values: 0 or 1
$GLOBALS['db_table']['sms'] = 'sms_numbers';
$GLOBALS['db_table']['sms_history'] = 'sms_history';
?>

在config.php文件中,我有基本URL的字符串$GLOBALS['app_url'] = 'http://www.website.com/subdirectory';,我想这样做,以便自动检测基本URL。我想使用与<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>类似的内容。我在不同目录下使用这些文件,这就是为什么我要将它们组合起来以使其自动化而不必每次创建新子目录时都必须手动更新基本URL。 另外,在config.php里面我有:

//Admin access
$GLOBALS['admin_username'] = 'admin';
$GLOBALS['admin_password'] = 'password';

这些值不在数据库中,而是名为source.php的本地文件,我希望能够更新值&#34; admin&#34;和#34;密码&#34;来自这个source.php文件。 在source.php文件中,我想我必须要有这样的东西:$username = 'admin'; 我真的很抱歉,但我很新,想学习这些东西。我感谢任何帮助。 谢谢

1 个答案:

答案 0 :(得分:1)

在config.php中使用全局常量

define('APP_URL', 'http://www.website.com/subdirectory'); 

然后你可以在代码中的任何地方执行:

$path = APP_URL . "/path/to/file"

我不建议将admin_username和admin_password存储为全局变量或常量,而是可以在config.php中创建一个包含值的类。

配置示例:

  

的config.php

define('APP_URL','http://www.website.com/subdirectory');  
define('DEMO_MODE',0); //possible values: 0 or 1
.....

class DB{
    var $conn;

    public function __construct()
    {
       $user = "admin";
       $pass = "pass";
       $host = "127.0.0.1";
       $database = "database_name";
       $this->conn = mysqli_connect($host, $user, $pass, $database);
    }
}

然后在index.php文件中执行:

require_once("config.php")
$db = new DB;
$conn = $db->conn();
....