检测文件是否存在于wordpress主题中()

我正在创建一个WordPress模板。
我正在显示一个视频目录中的一个, 例如

< video controls preload="auto" autoplay loop poster="< ?= item_image; ?> "> < source src="http://www.srcmini.com/< ?= $item_video_mp4; ?>" type='video/mp4' /> < source src="http://www.srcmini.com/< ?= $item_video_webm; ?>" type='video/webm' /> < /video>

【检测文件是否存在于wordpress主题中()】但是, 在某些情况下, 该项目没有视频文件。在这种情况下, 我只想显示替代内容。
我试图使用php的file_exists(), 但我读到它仅适用于本地路径, 不适用于url。所以我试图使用本地相对路径到文件。
我的视频网址是根据帖子标题计算得出的:
$item_path = '/wp-content/uploads/item_media/'; $item_name = get_the_title(); $item_video_mp4 =$item_path . $item_name .'.mp4';

这项工作有效, 它将显示视频和海报框架(如果存在)。问题是, 我需要检测视频是否不存在。
由于php模板位于/ wp-content / themes / mytheme中, 因此我尝试使用该模板
$filepath = '../../uploads/item_media/'. $item_name .'.mp4'; if (file_exists($filepath)) { echo "The file $filepath exists"; } else { echo "The file $filepath does not exist"; }

但是文本始终返回false。
有任何想法吗?
更新
我也尝试过此方法:
$filepath = WP_CONTENT_URL . '/uploads/item_media/'. $item_name .'.mp4'

哪个回声
"http://des.dev/wp-content/uploads/item_media/4595DW.mp4 does not exist"

即使有。
#1这似乎可行, 不确定是否是最佳方法:
$filepath = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/uploads/item_media/'. $ring .'.mp4'

#2你应该尝试使用此代替:
$filepath = WP_CONTENT_URL . '/uploads/item_media/'. $item_name .'.mp4'; if (file_exists($_SERVER['DOCUMENT_ROOT'] . $filepath)) { ...

问题在于PHP的file_exists函数采用相对路径或绝对路径, 并且看起来两者都不匹配你的文件系统结构。 $ _SERVER [‘ DOCUMENT_ROOT’ ]。上面的部分将在你要检查的路径之前加上Apache DocumentRoot设置, 使file_exists的参数成为绝对路径。

    推荐阅读