使用php覆盖文件中现有的php变量值

使用php覆盖文件中现有的php变量值,php,fopen,Php,Fopen,我有一个名为config.php的文件,其中包含几个变量配置值,包括以下值: $config['currencyCode'] = 'USD'; 我需要打开config.php文件,将$config['currencyCode']的值更改为另一个值并保存它 是否可以通过php使用fopen或其他方式?更改文件中的特定变量值?是否有必要 // config.php $config['currencyCode'] = 'USD'; // shop.php require 'config.php';

我有一个名为config.php的文件,其中包含几个变量配置值,包括以下值:

$config['currencyCode'] = 'USD';
我需要打开config.php文件,将
$config['currencyCode']
的值更改为另一个值并保存它

是否可以通过php使用fopen或其他方式?更改文件中的特定变量值?

是否有必要

// config.php
$config['currencyCode'] = 'USD';

// shop.php
require 'config.php';
// can alter the value if you want to
$config['currencyCode'] = 'GBP';

它不会更改
config.php
中的值,但如果您愿意,可以覆盖它,这可能更好

您只需将currencyCode的值存储在数据库中,并可以根据下面的代码在配置文件中检索它

$select = mysqli_query($connection, "SELECT currencyCode FROM tablename");
$row = mysqli_fetch_assoc($select);
echo $row['currencyCode'];
您还可以使用下面的查询更新数据库中currencyCode的值

mysqli_query($connection, "UPDATE tablename SET currencyCode = [value]");

只需通过读取文件内容、替换所需的值并将其写回文件来替换该值:

$file = 'config.php';
$contents = file_get_contents($file);
$contents = str_replace("$['currencyCode'] = 'USD';", "$['currencyCode'] = 'GBP';", $contents);
file_put_contents($file, $contents);

是的,这是可能的,但不只是作为一个特定的变量。您将不得不再次写入整个文件。1-包含配置文件2-使用fopen将所有变量写入文件,仅更改所需变量的值。是否将该文件包含在代码中?您可以简单地在相同的范围内更新该变量的值,我认为对于需要在运行时重新写入的文件,最好使用CSV格式。之后,您可以使用简单的fopen()和explode()函数加载csv文件。config.php文件在单独的ajax调用中调用,我需要更新值。我需要在config.php文件中更新变量,因为config.php是使用ajax从另一个文件调用的。为什么不将此数据存储在数据库中,并让您的代码提取和更新数据库值