尝试使用 filemtime 添加版本控制但失败

Trying to add versioning using filemtime but fail

在 wordpress 环境中。

我正在尝试使用 filemtime 自动向我的脚本添加版本控制,但收到以下错误消息:

Warning: filemtime() [function.filemtime]: stat failed for (file name)

代码简单

$myfile = get_template_directory_uri() . '/js/script.js';
wp_enqueue_script('mywebsite-script',$myfile , array( 'jquery' ), filemtime( $myfile ), true );

文件路径正确,但正如我所说,我收到了 stat failed 消息。

如果我添加 if (file_exists($myfile)) 检查,则会跳过整个操作。 然而,如果我回显 $myfile 的路径,则会正确打印并可以在浏览器中打开!

路径不包含花哨的字符。服务器不在 Windows 上,我读过编码可能是造成这种情况的原因,但如果是这种情况,我不知道解决方法应该是什么。

问题可能出在哪里?

您应该改用真实路径:

$myfile = get_template_directory_uri() . '/js/script.js';
$realpath = get_template_directory().'/js/script.js';
wp_enqueue_script('mywebsite-script',$myfile , array( 'jquery' ), filemtime( $realpath ), true );