私はという名前の空のフォルダを持っていますmy_folder
:
$mas = glob("my_folder/*");
var_dump($mas);
ファイルmy_folder
がある場合、結果は配列になりますが、my_folder
空の場合、結果はになりfalse
ます。
false
空のarray()ではなく結果が表示されるのはなぜですか?
ほとんどの場合、に対する権限がありませんmy_folder
。
また、(PHPマニュアルから)次の理由も考えられます。
一部のシステムでは、空の一致とエラーを区別することができません。
後者があなたの場合であるならば、私はあなたにそれをするための「古典的な」方法にフォールバックすることを提案します:
while (false !== ($entry = readdir($handle))) {
echo "$entry\n";
}
使用:
opendir(), readdir(), closedir()
PHPマニュアルには、エラーが発生した場合にglob
戻ると記載されています。FALSE
エラーがあるため、空の配列は取得されません。
ここにいくつかの一般的なエラーがありglob
ます:
www-data
ません(つまり、アクセス許可がありません)戻り値:一致したファイル/ディレクトリを含む配列を返します。一致したファイルがない場合は空の配列を返し、エラーの場合はFALSEを返します。
注: 一部のシステムでは、空の一致とエラーを区別することができません。
これらのポイントの両方があなたとあなたの特定のプラットフォームに関連していないことを確認してください。
[戻り値]セクションのPHPglobのマニュアルページから:
一致したファイル/ディレクトリを含む配列を返します。一致したファイルがない場合は空の配列を返し、エラーの場合はFALSEを返します。