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

nic*_*ico 2 php versioning wordpress filemtime

在 wordpress 环境中。

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

Warning: filemtime() [function.filemtime]: stat failed for (file name)
Run Code Online (Sandbox Code Playgroud)

代码很简单

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

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

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

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

问题可能出在哪里?

chr*_*yen 9

您应该改用真实路径:

$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 );
Run Code Online (Sandbox Code Playgroud)