1

可能重复:
写入 .php 文件?

所以我有一个我从头开始创建的 CMS 的 config.php 文件。该文件的结构如下所示:

<?php

date_default_timezone_set( "America/Phoenix" );
define( "DB_HOST_USER", "mysql:host=localhost;dbname=db_cms" );
define( "DB_USERNAME", "username" );
define( "DB_PASSWORD", "password" );
define( "CMS_TITLE", "Sample Title");
define( "USERNAME", "cms_user");
define( "PASSWORD", "cms_password");

?>

我的问题是如何写入这个文件并使用 PHP 将其保存到磁盘。帮助将不胜感激。

编辑:我看到 WordPress 使用类似的文件结构来存储用户/应用程序配置,如此所述。我只是想知道我是否可以更改上面的文件(config.php)并在其中存储新设置。例如,我想将 USERNAME 设置为 blog_user ( define( "USERNAME", "blog_user");)。是否可以只存储此更改而不重写整个文件?

4

3 回答 3

4

我不确定您为什么要这样做,但是只要用户 PHP 以具有写入权限的身份运行,您就可以使用file_put_contents写入任何文件:

file_put_contents('filename', '<?php

date_default_timezone_set( "America/Phoenix" );
define( "DB_HOST_USER", "mysql:host=localhost;dbname=db_cms" );
define( "DB_USERNAME", "username" );
define( "DB_PASSWORD", "password" );
define( "CMS_TITLE", "Sample Title");
define( "USERNAME", "cms_user");
define( "PASSWORD", "cms_password");

?>
');
于 2012-05-31T19:51:30.057 回答
0

假设您要将其保存到服务器上的磁盘,可以使用以下代码:

$ourFileName = "testFile.txt";
$temp = file_get_contents($ourFileName);

对可以附加新数据的 $temp 进行任何必要的更改等,然后:

file_put_contents($ourFileName,$temp);

http://php.net/manual/en/function.file-get-contents.php

于 2012-05-31T19:55:08.810 回答
0

有很多方法可以存储配置数据。试试这个 Stack Overflow:在 PHP 中存储易于编辑的配置数据的最快方法?

于 2012-05-31T19:55:34.520 回答