画像をアップロードする掲示板を作る
今回はドットインストールの画像アップロードの掲示板作成の項目から。
気になるところや引っかかったところを重点的に。
ファイルのアップロード
- enctype ="multipart/form-data"
→form要素のエンコード(符号化)のタイプを指定する(method属性がpostの場合のみ) - "multipart/form-data" → フォームにファイルを送信する機能がある場合指定
- "applocation/x-www-form-urlencoded" → すべての文字をエンコードする
- "text/plain"→ スペースの部分のみ「 + 」に変換し、その他の特殊文字は変換しない
uploadメソッド(アップロードの流れ)
try catchで例外処理の条件を作成
投稿されたファイルの検証
- $_FILES → PHPで定義済みの変数
- $_FILES['image']['error'] → ファイルアップロードに関するエラーコードを格納している
- ファイルをセットした際にチェックし、定数(文字列)で返す
画像の種類の判別
サムネイルの作成
- サムネイル画像の高さ
→ 元画像の高さ×サムネイル画像の横幅/元画像の横幅 - imagecreatetruecolor → truecolorイメージの新規作成
- サムネイル画像の高さ
画像リストの作成
- セッションの開始
- session → サーバ側に保存されるデータ(キーと値)
- cookie → サーバ側から発行され、ブラウザ(クライアント)側に保存されるデータ(キーと値)
- session_start → セッション管理に必要な一意の値(sessionID)を自動発行する。
まとめ
学習を続けている中で、『何をやっているか』はだいぶ理解ができるようになってきたので、次は『なぜそうするか(なぜそのやり方を用いるのか)』を理解できるようにしていきたいと思う。 SELinuxに悩まされることが多々あるので、どういうときにこの機能が絡んでくるのかをきちんと理解してすぐに検討がつくようにしたいと思う。