首页 > 解决方案 > PHP 使用时间戳作为常量

问题描述

尤其是从 wordpress 和 PHP 开始,尽管我对其他非 web 开发语言有丰富的经验。我正在尝试使用插件创建一个带有时间戳的文件夹,然后在该页面上上传的任何文件都应该使用相同的时间戳文件夹,而不是每个时间戳一个文件。

为了解决这个问题,我试图获取程序开始的时间戳并将其存储到程序的整个生命周期中,以便我可以在不同的地方使用它。

$time = date("h:i:s");

if (!function_exists('wfu_before_file_check_handler')) {
    
    function wfu_before_file_check_handler($changable_data, $additional_data, $time){
        $changable_data["file_path"] = str_replace("%time%", $time, $changable_data["file_path"]);
        return $changable_data;
    }
    add_filter('wfu_before_file_check', 'wfu_before_file_check_handler', 10, 2); 
}

当然可以给我日期,但是由于 PHP 的范围限制,我不能只在函数中访问这个变量。我不能让它作为一个全局变量工作,我不能将它定义为一个常量。至少我还不能做那些事情;这并不一定意味着我不能。

标签: phpwordpress

解决方案


如果你问如何定义一个常量,试试这个:

define('APP_TIMESTAMP', date('h:i:s'));

然后你可以像这样在你的代码中使用它:

str_replace('%time%', APP_TIMESTAMP, $changeable_data)

不会有范围限制


推荐阅读