ドットインストールの「PHPで画像アップロード掲示板んを作ろう」を受講した感想です。
#ドットインストール
「PHPで画像アップロード掲示板を作ろう」完了。新しく出てきたメソッドとかを復習してから次いこう。#駆け出しエンジニアと繋がりたい
— じゅに💻脱サラに命かける人 (@Jyu210) March 8, 2020
目次
学習内容
ドットインストールの「PHPで画像アップロード掲示板んを作ろう」は以下の使用の画像アップロード掲示板を全20回の動画を通して作り上げることになります。
- Uploadボタンを押下するとアップロードする画像を選択し、アップロード
- Upload対象のファイル形式は「GIF」「JPEG」「PNG」
- Upload対象のファイルサイズが1MB以内
完成イメージ
完成イメージは書きの通りになります。
新しく出てきた内容
opendir
ディレクトリをオープンする。
デイレクトリハンドル(ディレクトリの認識番号のうおうなものを)を取得する
順番としてはまず、opendier関数でファイル一覧を得たいディレクトリのハンドルを得る。
ハンドルのことは認識番号のようなものっで、そのディレクトリを表す特別な変数である。
ハンドルのことをresouce(リソース)と呼び、ディレクトリ反動流はstream(ストリーム)と呼ばれる
readdir
ディレクトリハンドルからファイルを読み込む
1 |
ファイル = readdir(ディレクトリハンドル) |
file_exists
ファイル、ディレクトリが存在していいるかチェックする
1 2 3 4 5 |
if (file_exists(ファイル)パス) { 存在する場合の処理; } else { 存在しない場合の処理; } |
basename
指定したパスの最後にある長めの部分をカケス
1 |
パスの最後の名前 = basename(ファイル波return , [数量時女学文字]) |
<<例>>
<?ph
echo “1) “.basename(“/etc/sudoers.d”, “.d”).PHP_EOL;
echo “2) “.basename(“/etc/sudoers.d”).PHP_EOL;
echo “3) “.basename(“/etc/passwd”).PHP_EOL;
echo “4) “.basename(“/etc/”).PHP_EOL;
echo “5) “.basename(“.”).PHP_EOL;
echo “6) “.basename(“/”);
?>
<<出力結果>>
1) sudoers
2) sudoers.d
3) passwd
4) etc
5) .
6)
getimagesize
画像の大きさを取得する
画像の大きさ[] = getimagesize(ファイルパス)
画像の大きさ[0]:画像の横幅
画像の大きさ:画像の縦幅
imagecreatefromgif
新しいGIF画像をファイルまたはURLから作成する。
1 |
画像のリソースID = imagecreatefromgif(ファイルパス) |
※jpegの場合:imagecreatefromjpeg
※pngの場合:imagecreatefrompng
imagecopyresampled
イメージの一部をコピーし、伸縮する。
特にサイズを小さくした倍は鮮明さが維持される。
1 |
imagecopyresampled(コピー先の画像リンクリソース, コピー元の画像リンクリソース, コピー先のx座標, コピー先のy座標, コピー元のx座標, コピー元のy座標, コピー先の幅, コピー先の高さ, コピー元の幅, コピー元の高さ) |
imagegif
画像をブラウザまたはファイルに出力する
imagegif(画像リソース, 作成するパス)
※画像リソースはimagecreatetruecolor()などで返されたもの
※JPEGの場合:imagejpeg
※JPEGの場合:imagejpeg
※PNGの場合:imagepng
exif_imagetype
イメージの型をチェックする
array_multisort
複数または多次元の配列をソートする。
array_multisort(ソートしたい配列, ソート順, ソート方法)
※ソート順
・SORT_ASC:昇順
・SORT_DESC:降順
※ソート方法
・SORT_REGULAR:通常通り比較する
・SORT_MUNMERIC:数値として比較する
・SORT_STRING:文字列として比較する
・SORT_LOCALE_STRING:現在のロケールを考慮して、文字列として比較する。
・SORT_NATURAL:自然順で、文字列として比較する。
・SORT_FLAG_CASE:SORT_STRINGやSORT_NATURALと組み合わせて、大文字小文字を区別しない文字列ソートを指定する
感想
画像操作系のメソッドが続々登場した講座でした。
今回は登場してきたものが何をしているのかっていうのを書き出しただけですが、
おの中でも
- ハンドル
- ディレクトリハンドル
- リソース
などといろんな言葉がでてきますので、それぞれが何を意味しているのかというとこころをまで深堀していきたいます。