2017年1月2日月曜日

PHP / 画像のアップロード

今回は画像アップロードについてのメモを残していきます。


メモ

PHP / GDライブラリ
画像ファイルの作成・操作をするPHPライブラリ

ini_set('display_errors',1);
エラー情報を画面に出力する設定

PHP header関数
生のHTTPヘッダーを送信する
覚えておいて頂きたいのは、header() 関数は、 通常の HTML タグまたは PHP からの出力にかかわらず、すべての実際の 出力の前にコールする必要があることです。
引用元:公式ドキュメント

uploadフォーム例
<form enctype="multipart/form-data" action="" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    アップロードファイル: <input name="userfile" type="file" />
    <input type="submit" value="UPLOAD" />
</form>
MAX_FILE_SIZEはtype=fileのインプットフォームより先に指定しないといけない

ファイルアップロード時の各種エラーメッセージ
KEY:VALUE:意味
UPLOAD_ERR_OK:0:アップロード成功
UPLOAD_ERR_INI_SIZE:1:php.iniの upload_max_filesize ディレクティブを超えている
UPLOAD_ERR_FORM_SIZE:2:HTMLフォームに指定したMAX_FILE_SIZE を超えている
などなど

PHP exif_imagetype関数
画像ファイルの拡張子を判定して対応したint値を返す
適切な拡張子を判別できない場合は、falseを返す

Imagetype 定数
画像ファイルの拡張子を表す定数群

sprintf
フォーマットした文字列を返す
一方、よく似ている"printf"は出力する

PHP sha1関数
そのまんま、引数の文字列のsha1ハッシュ値を返します。
第二2引数でtrueを渡すと、20 バイト長のバイナリ形式になってしまう。
今回は、デフォルト(false)で40文字の16進数の値を使用しました。

PHP imagecreatefromgif関数
新しいGIF画像ファイルを作る
URLかファイルパスを引数に渡す
成功した場合は、作成した画像ファイルのID、失敗した場合はFLASEを返す

PHP で h() を書くなら一緒に echo しよう。
ググっているうちに目に留まった記事ですが、確かにそうですね。

PHP uniqid関数
引数なしで、13文字の文字列を返す。
第1引数に、プレフィックストなる文字列を渡すことができる

PHP list()
言語構造。
配列を代入することで、引数に指定した複数の変数に同時に代入することができる

Google社がホストしているjQueryライブラリを使用する
Google Hosted Librariesから
1.x snippet:のscript要素を拝借します。
今回はbody要素の閉じタグ直前に配置しました。

jQuery $('セレクタ').fadeOut(ミリ秒)
選択した要素をフェードアウトさせます。

テキストをフェードアウトさせても高さを残してくにはどうしたらイイんでしょう
ブロック要素のheightをdefaultのautoから固定に変える
文字がフェードアウトすると、ガクッと下の要素が上に移動したのがいけていなかった。
高さを固定することで防げた。

0 件のコメント:

コメントを投稿