はじめに久しぶりの投稿だなー サボりすぎかwww 今回はAWS SDK for PHPで用意されている関数doesObjectExistを使って、 バケット内にあるフォルダーの存在チェックをやった時にハマった事を書いていきたいと思います。 問題s3コンソール上で確認するとフォルダはあるにも関わらず、 doesObjectExistで存在チェックするとfalseで返ってくるケースがある!!! 原因そもそもs3にはフォルダというものがなくて、所謂フォルダもファイルもオブジェクトとして認識している。 では、どんな場合に上記問題が発生するの? 存在しないフォルダに対して、直接ファイルをPUTする場合に発生してしまいます! 例: プログラムなどでdata/のフォルダがない状態で直接data/abc.txtをPUTした場合 s3内部では以下のような形になります。 data/ #オブジェクトは存在しない