检查文件夹是否存在不起作用

时间:2015-11-01 16:06:18

标签: php wordpress function wordpress-plugin directory

我正在尝试使用此功能来识别服务器上是否存在文件夹,但它无法正常工作。我也尝试过is_dir功能,但没有运气。

这个脚本试图在Wordpress插件中使用,但是它使用基于php的函数来查看文件/文件夹是否存在。知道为什么它没有认识到/ docs文件夹存在吗?我已经验证$ filename实际上是在服务器上提取正确的文件路径。

function docs_settings_page() {
    $filename = get_stylesheet_directory_uri()."/docs/";
    if(file_exists($filename)) {
        echo "The folder exists!";
    }
    else {
        echo "Sorry - the file does not exist.";
    }
}

function docs_create_menu() {
    // Do stuff here
}

add_action('admin_menu', 'docs_create_menu');

3 个答案:

答案 0 :(得分:1)

get_stylesheet_directory_uri()返回web-view的相对路径,但file_exists(...)不能与web-view一起使用,它使用服务器上目录的物理位置。因此,您需要使用get_home_path()来首先获取wordpress目录的物理路径,然后可以添加对样式表目录的引用等。

尝试:$filename=get_home_path().get_stylesheet_directory_uri()."/docs/";

答案 1 :(得分:1)

get_stylesheet_directory_uri()函数返回文档的URI 在您的情况下,您将需要绝对路径,而不是URI。

澄清:
URI:您在浏览器中输入的内容 绝对路径:来自网站空间/服务器根目录的路径。

因此,要将您的'docs'文件夹放在主题目录中,您可以执行此操作 $path = get_template_directory()."/docs/"

我希望这有帮助, 塞巴斯蒂安

答案 2 :(得分:0)

根据Ultimater's和Sebastian的帮助,这个条件解决了我的Wordpress儿童主题问题:

$filename = get_stylesheet_directory()."/docs/";
if(file_exists($filename)) { ... }