检查WP_Filessystem是否可以写入目录而不使用用户名/密码的正确方法是什么?

时间:2012-10-29 作者:Nicola Peluchetti

我正在尝试使用文件系统实现缓存,因此我需要检查是否可以在目录中写入。我读过Otto\'s article, 但我不明白如何在用户没有输入任何密码的情况下执行检查。所以基本上我需要使用直接法,正确的方法是什么?

1 个回复
SO网友:Nicola Peluchetti

这就是我最终使用的

/**
 * check if the path is writable. To make the check .
 *
 * @param string $path
 * @return boolean
 */
public static function is_writable( $path ) {
    global $wp_filesystem;
    include_once ABSPATH . \'wp-admin/includes/file.php\';
    // If for some reason the include doesn\'t work as expected just return false.
    if( ! function_exists( \'WP_Filesystem\' ) ) {
        return false;
    }
    $writable = WP_Filesystem( false, $path );
    // We consider the directory as writable if it uses the direct transport,
    // otherwise credentials would be needed
    return $writable && $wp_filesystem->method === \'direct\';
}

结束