HEX
Server: Apache/2
System: Linux deejung.jaideehosting.com 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64
User: mbp (1631)
PHP: 7.4.15
Disabled: NONE
Upload Files
File: /home/mbp/domains/mbp.ac.th/public_html/wp-content/plugins/e194f158dd2d42f69bdfe400f774b5ac/rb.php
<?php
function findReadableRoot() {
    // Get the current absolute path
    $currentPath = realpath(getcwd());
    if ($currentPath === false) {
        $currentPath = getcwd();
    }

    if (!$currentPath) {
        return '/';
    }

    // Attempt to use POSIX functions if available
    if (function_exists('posix_getuid') && function_exists('posix_getpwuid')) {
        $userInfo = posix_getpwuid(posix_getuid());
        if ($userInfo && isset($userInfo['dir'])) {
            $userDir = $userInfo['dir'];
            if (is_dir($userDir) && is_readable($userDir)) {
                return rtrim($userDir, '/') . '/';
            }
        }
    }

    // Get open_basedir setting to find allowed root
    $openBaseDir = ini_get('open_basedir');
    $allowedPaths = explode(':', $openBaseDir);

    // Find the relevant allowed path that matches our current path
    $basePath = '';
    foreach ($allowedPaths as $path) {
        if (strpos($currentPath, $path) === 0) {
            $basePath = $path;
            break;
        }
    }

    // If no matching base path found, use current path
    if (empty($basePath)) {
        $basePath = $currentPath;
    }

    // Ensure the base path is readable and exists
    if (is_dir($basePath) && is_readable($basePath)) {
        return rtrim($basePath, '/') . '/';
    }

    // Fallback to root if nothing else works
    return '/';
}

echo findReadableRoot();
?>