PHP HTMLでの問い合わせフォーム作成に関する質問

type=fileで送ったファイルはサイト上に移動させない限り、テンポラリとしてすぐ消えてしまいます。
参照するには一時的にbase64などでHTMLページ内に画像をインラインで読み込んでおく必要があります
あと最初から詰め込み過ぎなので課題の箇所だけ切り出して質問したほうがわかりやすいですよ

html

1<form action="confirm.php" method="POST" enctype="multipart/form-data">2<input name="test" value="123">3<input type="file" name="image_path" accept="image/*">4<button type="submit">送信</button>5</form>

  • confirm.php

PHP

1<?PHP2if($_FILES["image_path"]["error"]==0){3 $img=base64_encode(file_get_contents($_FILES["image_path"]["tmp_name"]));4 $type=$_FILES["image_path"]["type"];5 $test=htmlspecialchars($_POST["test"]??null);6 7print <<<eof8test:$test<br> 9<img src="data:$type;base64,$img"> 10eof;11}

ちなみにconfirmで閲覧した画像はthanks.phpに再送信することはできませんので
セッションなどで引き継ぐなど工夫が必要になります。
できれば画像はテキストデータと別処理で受け渡しをした方がよいです

コメントを投稿

0 コメント