FC2ブログ
スクウェア・エニックスノベルス『スタンプ・デッド』1~5巻&コミック版、『太陽で台風』1・2巻発売中!
ガンガンノベルズ『魔法少女アーヤ☆アミー』発売中!
徳間デュアル文庫『魔王さんちの勇者さま』1~4巻発売中!
徳間文庫『欠陥妖怪住宅』、『パラレル家族計画』発売中!
ぽにきゃんBOOKSライトノベルシリーズ『ブチ切れ勇者の世界征服』1~2巻発売中!
HJ文庫『カンスト勇者の超魔教導』1~3巻発売中!
ファンタジア文庫『お助けキャラに彼女がいるわけないじゃないですか』1~3巻発売中!
JUMP j BOOKS『ぼくたちは勉強ができない 非日常の例題集』発売中!

受賞歴:
2004年、第1回スクウェア・エニックス小説大賞『入選』
2008年、第5回トクマ・ノベルズEdge新人賞『徳間デュアル文庫特別賞』
2017年、第11回HJ文庫大賞『銀賞』
2017年、ジャンプ小説新人賞’16 Winter 小説フリー部門『銀賞』
2017年、第30回ファンタジア大賞 『金賞』

2019-09

«  | ホーム |  »

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

既刊情報

最新コメント

最新記事

カレンダー

08 | 2019/09 | 10
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 - - - - -

月別アーカイブ

カテゴリ

ジャンルランキング

[ジャンルランキング]
日記
320位
ジャンルランキングを見る>>

[サブジャンルランキング]
その他
124位
サブジャンルランキングを見る>>

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR