1

次の関数を使用して、ファイルが存在するかどうかを理解しています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;
}

2 つの問題があります。

<b>Warning</b>:  file_exists() expects parameter 1 to be a valid path

また、次の方法で実際にファイル パスが返されるのか、それとも私の想像にすぎないのかはわかりません:D

$splashscreen = glob(SITE_URL .'/upload/' . md5($eID) . 'app/splashscreen_event.*');
4

1 に答える 1

7

globパターンに一致するすべてのファイル名を取得し、これらの名前を含む配列を返します。

したがって、file_exists(配列ではなくファイルパス文字列が必要です)を使用する代わりに、次のようなものを単純に使用できます。

$files = glob(...);
if (count($files) > 0)

ファイルが見つかったかどうかを確認します。

パターンが 1 つ以下のファイル名のみを返すことが確実な場合は、$files[0]orreset($files)を使用して最初の要素を取得できます (条件が満たされた場合...)。

于 2013-07-01T15:18:35.580 に答える