【问题标题】:how to save a variable that keep alive for all time in PHP (or in MySql)如何在PHP(或MySql)中保存一个始终保持活动状态的变量
【发布时间】:2013-06-15 19:50:55
【问题描述】:
SELECT * FROM MyTable LIMIT [startpoint], [row_count]

我希望这个 startpoint 变量始终保持活动状态,而不管任何事情,即理想条件下,变量应该保持活动状态并根据逻辑不断改变自身,直到应用程序或 Web 服务器发生某些事情。是否有可能,或者我必须将其写入文件并读取它或保存到表中并读取它。

【问题讨论】:

  • 既然您想要一个应该为整个应用程序全局修改的变量,是的,最好的办法是将其保存在文件或数据库中
  • 您希望此变量在您是网站时不断存储,还是希望在您再次返回时能够返回到这一点?
  • 数据库旨在完成这项工作,但要动态更改,您需要自己编写更新变量的“操作”。
  • 但我的问题是它每 30 秒就会改变一次,所以(我正在将活动记录到文件中)所以每天记录都会增加,除此之外有什么方法可以让我的变量保持活动状态跨度>
  • 然后将其保存在数据库中并设置一个 cron 作业以每 30 秒更新一次。

标签: php mysql variables var


【解决方案1】:

PHP 变量仅在其脚本正在执行时才存在。 如果动态更改 startpoint 的值,则必须将其存储在文件或数据库中。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 在会话中存储分页值存在问题,因为如果用户打开两个窗口,所有分页都会出错。
    • 完全正确。那时我个人会使用 cookie,或者如果我想变得懒惰和无效 - 文本文件。
    【解决方案3】:

    使用文件存储来做,这是最快的方法。
    您可以使用getLastChanged(<i>filename</i>);获取文件更改时间

    function setGlob($name,$val)
    {
        file_put_contents("glob_$name",$val);
    }
    
    function getGlob($name)
    {
        return file_get_contents("glob_".$name);
    }
    
    function getLastChanged($name)
    {
        return filemtime("glob_".$name);
    }
    

    【讨论】:

      【解决方案4】:

      php 变量的作用域仅限于当前页面或序列的执行。 您应该将其保存在配置文件或数据库中,以便为多个请求访问它。

      【讨论】:

        【解决方案5】:

        变量只在脚本执行期间保持其值。如果您想在当前会话中使用该变量值(直到浏览器未关闭),您可以使用 SESSION 或者如果您想保留多久,请使用 @987654322 @

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-16
          • 2012-03-09
          • 2021-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多