PHP检查Wordpress中是否存在文件

时间:2014-07-16 08:38:15

标签: php wordpress file-io

我想检查我的服务器上是否存在视频文件 - 如果它确实嵌入了它,那么请改为播放youtube嵌入式。

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

我有以下代码基于其他类似的问题和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();
    ?>

2 个答案:

答案 0 :(得分:1)

解决方案是file_exists字符串需要是文件的相对路径而没有前面的/ 即我原来的file_exist检查是有效的

$localvideo = 'http://localhost/wp-content/video/test.flv'

而不是

$localvideo = 'wp-content/video/test.flv'

答案 1 :(得分:0)

将file_exists更改为is_file() 在你的代码中 例如: if(is_file($ localvideo)){