Web系高専生の日記

web制作について書いたり、その他趣味について...

備忘録 phpで画像の投稿

流れは
画像の送信
画像かどうかの判断
画像をファイルに保存
画像の名前をデータベースに保存
画像の表示
って感じです。


まずhtmlでフォームの作成をしました。
f:id:Kazkifukke:20181208112502p:plain

次にデータベースを使うので作成と接続
f:id:Kazkifukke:20181208112527p:plain
f:id:Kazkifukke:20181208112544p:plain

次に画像の判断をするために一時的な名前と画像フォルダのパスと拡張子を定義。
f:id:Kazkifukke:20181208112603p:plain

ここでフォルダのアクセス権限を設定してなくてかなり時間取りました..
f:id:Kazkifukke:20181208112633p:plain

次に画像が送信されたときに、flagをtrueにして適切な拡張子をつける。
f:id:Kazkifukke:20181208112654p:plain
exif_imagetypeの返り値が画像のタイプになります。

次にflagがtrueだったときに画像の名前をランダムに変更してファイルに移動。変更した画像名をデータベースに保存します。
f:id:Kazkifukke:20181208112717p:plain

フォームの再送信を防ぐためにもう一度読み込む。
f:id:Kazkifukke:20181208112734p:plain

次に表示のためにデータベースからファイル名を取ってくる。
f:id:Kazkifukke:20181208112750p:plain

最後にhtmlに表示。
f:id:Kazkifukke:20181208112806p:plain

変数名とか適当にやったんで、綺麗にして、データベースへのアクセスをカプセル化したり、脆弱性?あると思うんで(よく分かってない人)そこらへん、しっかりしていこうかなと思います。
まぁ動いたんでとりあえずokってことで。
アドバイスあればお願いします。
コード晒すと頭の中で整理されて良いってことに気づきました..