PHP检查Wordpress中是否存在文件
我想检查我的服务器上是否存在视频文件-如果它确实嵌入了它,否则就播放youtube嵌入 (本地文件和youtube URL存储在单独的自定义字段中,两者都是绝对路径) 我有以下基于其他类似问题的代码,php手册似乎是正确的,但是无论本地文件是否存在,我总是将本地视频播放器嵌入其中-我一辈子都搞不清楚哪里出了问题PHP检查Wordpress中是否存在文件,php,wordpress,file-io,Php,Wordpress,File Io,我想检查我的服务器上是否存在视频文件-如果它确实嵌入了它,否则就播放youtube嵌入 (本地文件和youtube URL存储在单独的自定义字段中,两者都是绝对路径) 我有以下基于其他类似问题的代码,php手册似乎是正确的,但是无论本地文件是否存在,我总是将本地视频播放器嵌入其中-我一辈子都搞不清楚哪里出了问题 <?php $localvideo = get_post_meta($post->ID, 'videoembed', true); if
<?php
$localvideo = get_post_meta($post->ID, 'videoembed', true);
if ( file_exists($localvideo)) {
//embed video url stored in custom field 'videoembed'
echo do_shortcode( '[video src='. $localvideo . ' ]');
} else {
//code to embed youtube video instead
//echo to test if url in variable is correct
echo $localvideo;
}
clearstatcache();
?>
将现有文件更改为is\u文件() 在代码中 例如:
如果(is_file($localvideo)){则解决方案是,file_exists字符串需要是文件的相对路径,而不需要前面的/ 我的原始文件检查有效
$localvideo = 'http://localhost/wp-content/video/test.flv'
而不是
$localvideo = 'wp-content/video/test.flv'
您可以检查并发布
$localvideo
的值吗?是的。如果您使用$localvideo作为src,那么它应该是一个URL,它可能是一个web URL而不是一个实际的文件吗?如果它是一个URL,URL“存在”吗?(这可能意味着它就在那里,并提供404服务,例如,我不知道_存在的文件在这种情况下是做什么的…)除了文件和URL之间可能存在的混淆——我希望您的代码可能会检查文件是否存在,然后提供指向该文件的URL——我看不出有什么错误。添加了$localvideo的echo并显示web URL,即“可能以前的结果已缓存?请尝试插入clearstatcache()清除缓存。在关闭php标记结束之前,我已经有了它