データを外部から取得して保存しようとした時にディレクトリがなかった場合の処理として調べてみました

前回、画像を取得して保存するという流れを調べたわけですが、大量に保存する際、ディレクトリを色々わけて保存したいと思うわけですが、そもそもディレクトリがないと保存できないので、画像を吐き出す際にディレクトリの有無を確認し、あればそのまま保存、なければディレクトリを作成して保存するという流れを作りたいと思います。

ファイルをディレクトリを別々の変数で保存しておく

ファイルを保存する時に、ディレクトリの作成をするかどうかの分岐を入れるので、保存するパスは、ファイル名とディレクトリのパスにあらかじめわけておきます。

//ディレクトリのパス
$dir_name='/hoge/aa/bbb';

///ファイル名
$file_name='hoge.jpg';

///ディレクトリの有無を確認
if(file_exists($dir_name)){
///ディレクトリがあった場合の処理

}else{
///ディレクトリがなかった場合の処理

if(mkdir($img_dir,0755,TRUE)){
///ディレクトリの作成が成功した際の処理
$full_path=$dir_name.'/'.$file_name

///$full_pathを使って保存なり何なりする

}else{
///ディレクトリの作成が失敗した際の処理

}

}

ひとまずこんな感じでいける模様

コメント