手がないと思ったらこんな関数とか作ってみればいかが。

function file_exists2($filename) {
return (boolean)glob($filename);
}

安全を考えるなら検索するファイル名を制限しなければならない。
globは"*"とかに対応した関数だから。

function file_exists2($filename) {
return !preg_match('/[\*\{\}\?]/', $filename)
and (boolean)glob($filename);
}