スクウェア・エニックスノベルス『スタンプ・デッド』1~5巻&コミック版(完結)、『太陽で台風』1・2巻(完結)発売中!
ガンガンノベルズ『魔法少女アーヤ☆アミー』発売中!
徳間デュアル文庫『魔王さんちの勇者さま』1~4巻(完結)発売中!
徳間文庫『欠陥妖怪住宅』、『パラレル家族計画』発売中!
ぽにきゃんBOOKSライトノベルシリーズ『ブチ切れ勇者の世界征服』1~2巻発売中!

2017年4月、第11回HJ文庫大賞にて『銀賞』をいただきました!
2017年5月、ジャンプ小説新人賞’16 Winterにて 小説フリー部門『銀賞』受賞をいただきました!
2017年9月、第30回ファンタジア大賞にて 『金賞』をいただきました!

第11回HJ文庫大賞"銀賞"受賞作『カンスト勇者の超魔教導 ~将来有望な魔王と姫を弟子にしてみた~』
1・2巻、HJ文庫より発売中!
第30回ファンタジア大賞 "金賞"受賞作『お助けキャラに彼女がいるわけないじゃないですか』
3巻、8/18(金)ファンタジア文庫より発売です!

2018-07

«  | ホーム |  »

PHPにて、フォームから受け取った画像を確認画面で表示する

どうも、はむばねです。
先日、PHPでアップロードされた画像を一時保存せずに確認画面で表示する方法はねーのかよファッキン!
表示部分を別ファイルに分けてimgのsrcで指定すればできるけど、なんか力技感が漂うじゃねーかクソッタレー!
という記事を書いたらですね。
Data URI schemeを使えば出来るんじゃねーのかボケナスが! という旨のコメントをいただきまして。
早速、以下みたいなで試してみました。


//アップロードされた画像を取得
$img = file_get_contents($_FILES["img"]["tmp_name"]);
// BASE64エンコード
$base64 = base64_encode($img);
//表示
print "〈img src=\"data:image/jpeg;base64,${base64}\"〉";



したら、無事表示成功!
実際の、確認画面の後にファイルをアップロードする処理まで入れると↓こんな感じになりました。



【確認画面での処理】
//アップロードされた画像を取得
$img = file_get_contents($_FILES["img"]["tmp_name"]);
//セッションにも格納
$_SESSION['img'] = $img ;
// BASE64エンコード
$base64 = base64_encode($img);
//確認表示
print "〈img src=\"data:image/jpeg;base64,${base64}\"〉";


【サーバに保存する際の処理】
if (isset($_SESSION['img'])) {
  //セッションのデータをファイルとして書き出し
  file_put_contents("imgPath/img.jpg", $_SESSION['profileImg'], LOCK_EX));
  //セッションからは削除
  unset($_SESSION['profileImg']);
}




セッションに保存されるのは(ファイルパスではなく)実データなので、move_uploaded_fileやrenameだと保存出来ない点は一応注意ですかね。
まぁ、私が最初気付かずそれでやって(・3・)アルェー? ってなっただけなんですけど。

うむ、なかなかにシンプルで綺麗なコードなのではなかろうか。
……と思うのですが、調べた時にこの情報が出てこなかったのはなぜなのか。
なんか問題あるのかなぁ……?
Data URI schemeだとデータ量はでかくなるけど、それも1.3倍程度らしいし。
単に私の検索方法が悪かったのか……?


とまれ、ほしるちさん、情報いただき本当にありがとうございました!
おかげで、(とりあえず該当の環境では)モヤモヤしない形で実装することができました!
大変助かりました、感謝です!
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://hamubane.blog.fc2.com/tb.php/4141-fbda1418
この記事にトラックバックする(FC2ブログユーザー)

«  | ホーム |  »

プロフィール

hamubane

Author:hamubane

たぶんライトノベル作家的なもの


Twitter

既刊情報

上の方は絶版じゃないよ!

お助けキャラに彼女がいるわけないじゃないですか2 (ファンタジア文庫)

最新コメント

最新記事

カレンダー

06 | 2018/07 | 08
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR