Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查Wordpress中是否存在文件_Php_Wordpress_File Io - Fatal编程技术网

PHP检查Wordpress中是否存在文件

PHP检查Wordpress中是否存在文件,php,wordpress,file-io,Php,Wordpress,File Io,我想检查我的服务器上是否存在视频文件-如果它确实嵌入了它,否则就播放youtube嵌入 (本地文件和youtube URL存储在单独的自定义字段中,两者都是绝对路径) 我有以下基于其他类似问题的代码,php手册似乎是正确的,但是无论本地文件是否存在,我总是将本地视频播放器嵌入其中-我一辈子都搞不清楚哪里出了问题 <?php $localvideo = get_post_meta($post->ID, 'videoembed', true); if

我想检查我的服务器上是否存在视频文件-如果它确实嵌入了它,否则就播放youtube嵌入

(本地文件和youtube URL存储在单独的自定义字段中,两者都是绝对路径)

我有以下基于其他类似问题的代码,php手册似乎是正确的,但是无论本地文件是否存在,我总是将本地视频播放器嵌入其中-我一辈子都搞不清楚哪里出了问题

   <?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标记结束之前,我已经有了它