PHP str_replace 删除文件内容
PHP str_replace deletes file content
我正在制作一个简单的设置表单,要求您输入存储在另一个 PHP 文件中的数据库凭据,但是当用户提交它时,数据库凭据文件中的内容将被删除,并且文件只是空的。我已尝试调试我的代码,但仍然无法找出导致问题的原因。
我的数据库凭证文件:
<?php
define("DATABASE_HOST", "{DB_HOST}");
define("DATABASE_USER", "{DB_USER}");
define("DATABASE_PASSWORD", "{DB_PASSWORD}");
define("DATABASE_DATABASE", "{DB_NAME}");
我的代码:
$databasehost = $_POST['databasehost'];
$databaseuser = $_POST['databaseuser'];
$databasepassword = $_POST['databasepassword'];
$databasename = $_POST['databasename'];
$searchF = array('{DB_HOST}','{DB_USER}','{DB_PASSWORD}','{DB_NAME}');
$replaceW = array($databasehost, $databaseuser, $databasepassword, $databasename);
$fh = fopen("../static/database.php", 'w');
$file = file_get_contents('../static/database.php');
$file = str_replace($searchF, $replaceW, $file);
fwrite($fh, $file);
fclose($fh, $file);
谢谢,
尼美图.
您通过调用阅读了文件
$file = file_get_contents('../static/database.php');
使用 w
打开文件后。打开它进行写入将自动清空文件。所以把顺序改为
$file = file_get_contents('../static/database.php');
$fh = fopen("../static/database.php", 'w');
我正在制作一个简单的设置表单,要求您输入存储在另一个 PHP 文件中的数据库凭据,但是当用户提交它时,数据库凭据文件中的内容将被删除,并且文件只是空的。我已尝试调试我的代码,但仍然无法找出导致问题的原因。
我的数据库凭证文件:
<?php
define("DATABASE_HOST", "{DB_HOST}");
define("DATABASE_USER", "{DB_USER}");
define("DATABASE_PASSWORD", "{DB_PASSWORD}");
define("DATABASE_DATABASE", "{DB_NAME}");
我的代码:
$databasehost = $_POST['databasehost'];
$databaseuser = $_POST['databaseuser'];
$databasepassword = $_POST['databasepassword'];
$databasename = $_POST['databasename'];
$searchF = array('{DB_HOST}','{DB_USER}','{DB_PASSWORD}','{DB_NAME}');
$replaceW = array($databasehost, $databaseuser, $databasepassword, $databasename);
$fh = fopen("../static/database.php", 'w');
$file = file_get_contents('../static/database.php');
$file = str_replace($searchF, $replaceW, $file);
fwrite($fh, $file);
fclose($fh, $file);
谢谢, 尼美图.
您通过调用阅读了文件
$file = file_get_contents('../static/database.php');
使用 w
打开文件后。打开它进行写入将自动清空文件。所以把顺序改为
$file = file_get_contents('../static/database.php');
$fh = fopen("../static/database.php", 'w');