PHP在服务器上存储单个变量?

时间:2014-10-30 22:33:45

标签: php

我想存储一个像这样的整数:

<?php

$_SERVER['amount'] = 54;
echo($_SERVER['amount']);

?>

能够修改它,以及从每个新的php会话访问。但是,每当会话结束时,服务器变量都会消失。如何在没有数据库的情况下在服务器上存储单个变量?对于存储的2个字符,.txt文件似乎没必要。

2 个答案:

答案 0 :(得分:4)

根据我的理解,您的存储选项是文件,PHP代码中的硬编码变量,数据库表,cookie或会话变量。如果您已经在使用数据库,可能最优雅的解决方案是添加一个包含永久数据变量的新表。

另一个解决方案,如果你正在寻找一个快速而肮脏的解决方案,就是添加一个带有幻数的全局php变量,这正是你试图对你的服务器变量做的,例如global $_AMOUNT = 54; // The amount is always 54 for all users.那个但是,每次访问页面时,并不能满足您对修改它的要求。

$ _ SERVER是一个超全局,每次在每个页面加载时启动PHP时都会从文件中读取。您没有写入读取变量的文件,因此每次脚本执行时都会重置。

在我看来,只需创建一个数据库表。为表格创建一行,金额。我愿意打赌,随着你添加更多全局变量,表格会随着时间的推移而增长。

答案 1 :(得分:2)

您可以使用file_put_contents创建一种缓存文件,然后使用file_get_contents来检索数据..

file_get_contents AND file_put_contents

类似

$data = array(
    'something' => 'this',
    'somethingelse' => 'again',
);

$settings = json_encode($data);

file_put_content( 'settings.txt', $settings);

//then
$texstSettings = file_get_contents('settings.txt' );
$settings = json_decode(texstSettings);