WEBシステム開発・デザイン制作などすべての作業を一貫してご提供しております。(大阪・東京近辺)

WEBシステム開発/PHPの不具合?opendir関数でフォルダ名が0の名前が検索不可

安定していたシステムに突如として、不具合が見つかりました。

バッチ処理的なシステムがあり、特定のフォルダ内のファイルを検索して
データベースへと登録するプログラムなんですが

仕様上では0というフォルダ名は決して使用する事はないのに
その時に限って、担当者が0と言うフォルダ名で作業を行っていたが為に
いつまでたってもデータベースへ情報が反映されない、処理されない不具合になっておりました。

原因はとても単純な事で、opendir関数の不具合ではなく
その後の、while処理の扱いに問題がありました。

当然ですよね。。。whileはTRUEの時にループするものであり、FALSE=0の時はループから抜けちゃいます。
っと言う事は、このままの状態ではフォルダ名に0はつけては駄目という事ですね。

if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo “filename: $file : filetype: ” . filetype($dir . $file) . “”;
}
closedir($dh);
}