PHP Glob 检查文件是否存在

1 php glob

我正在使用以下函数来了解文件是否存在使用 glob

function eSetSplash($eID, $catID) {
    $splashscreen = URL_ICONSET . $catID . "/default_splashscreen.png";
    if (file_exists(glob(DIRECTORY_PATH_UPLOADS . md5($eID) . 'app/splashscreen_event.*')))
        $splashscreen = glob(SITE_URL .'/upload/' . md5($eID) . 'app/splashscreen_event.*');
    return $splashscreen;
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

<b>Warning</b>:  file_exists() expects parameter 1 to be a valid path
Run Code Online (Sandbox Code Playgroud)

而且我不确定执行以下方式是否会实际返回文件路径,或者这只是我的想象:D

$splashscreen = glob(SITE_URL .'/upload/' . md5($eID) . 'app/splashscreen_event.*');
Run Code Online (Sandbox Code Playgroud)

jer*_*oen 7

glob 获取与您的模式匹配的所有文件名,并返回一个包含这些名称的数组。

因此file_exists,您可以简单地使用类似的东西,而不是使用(它需要一个文件路径字符串而不是一个数组):

$files = glob(...);
if (count($files) > 0)
Run Code Online (Sandbox Code Playgroud)

查看是否找到任何文件。

如果您确定您的模式将只返回一个文件名或更少,您可以使用$files[0]reset($files)获取第一个元素(如果满足条件...)。