概要
- 画像のアップロード掲示板です
- ログイン不要
- DBを使わずにファイルにデータを保存します
サンプルコード
- https://gist.github.com/c-taka/5746696
- https://gist.github.com/c-taka/5746676
- https://gist.github.com/c-taka/5746674
ファイル構成
- /thumbnails
- /images
- index.php
- config.php
- upload.php
設定ファイル(config.php)
処理概要
- 定数の定義
- 画像ディレクトリ
- サムネールの横幅
- ファイルサイズ
言語リファレンス
-
define
- 名前を指定して定数を定義する
-
dirname
- 親ディレクトリのパスを返す
-
$_SERVER
- サーバー情報および実行時の環境情報
-
error_reporting
- 出力する PHP エラーの種類を設定する
- MAX_FILE_SIZE
-
php.ini upload_max_filesize
- アップロードされるファイルの最大サイズ。
- デフォルトは、2 メガバイトです。
-
function_exists
- 指定した関数が定義されている場合に TRUE を返す
- 画像処理および作成
- GD および Image 関数
画像投稿フォーム(index.php)
処理概要
- フォームの内容
- 初期設定ファイルを読み込み
言語リファレンス
-
require_once
- 指定されたファイルを読み込み、評価します
ファイルアップロード(upload.php)
処理概要
- $_FILESをvar_dumpして動作を確認
リファレンス
-
$_FILES
- HTTP ファイルアップロード変数
- ファイルアップロードの処理
1.エラーチェックを行う
- アップロードエラーの確認
- ファイルサイズの確認
2.ファイルの拡張子を取得する
- getimagesizeによるファイル情報の取得
- MIME Typeで判定して、ファイル拡張子の設定
3.元画像を保存する
- 重複しないファイル名を生成
- var_dump()で確認
- 保存フォルダへの格納
4.縮小画像を作成、保存する
- 画像サイズの取得
- 縮小画像を作るための元ファイルを生成
- 縦横サイズの計算
- 縮小画像の生成
言語リファレンス
-
filesize
- ファイルのサイズを取得する
-
getimagesize
- 画像の大きさを取得する
-
sha1
- 文字列の sha1 ハッシュを計算する
-
mt_rand
- よりよい乱数値を生成する
-
time
- 現在の Unix タイムスタンプを返す
-
move_uploaded_file
- アップロードされたファイルを新しい位置に移動する
- imagecreatefromgif
- imagecreatefromjpeg
-
imagecreatefrompng
- 新しい画像をファイルあるいは URL から作成する
-
round
- 浮動小数点数を丸める
-
imagecreatetruecolor
- TrueColor イメージを新規に作成する
-
imagecopyresampled
- 再サンプリングを行いイメージの一部をコピー、伸縮する
- imagegif
- imagejpeg
-
imagepng
- 画像をブラウザあるいはファイルに出力する
-
header
- 生の HTTP ヘッダを送信する
画像一覧を表示する(index.php)
処理概要
- readdirによる読み込み・確認
- 縮小画像の存在チェックをして条件分岐
- 画像ファイル名の格納
- 画像の表示