質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1517閲覧

input type="file" で画像をUPしたいのですが画面遷移すると上手くいきません

falco

総合スコア7

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/10/04 01:36

編集2016/10/04 15:40

###前提・実現したいこと
php,htmlにて画像をUPしたいのですが
端末はPC、スマホ、ガラケーで
文章、ファイルを指定した後、確認画面を表示して問題なければUPサーバーに書き込みしたいのですが
確認画面を表示してその後書き込み動作に渡せません。
どうすればいいでしょうか?

###発生している問題・エラーメッセージ

###該当のソースコード
=入力ページ=

<form action="check.php" method="post" enctype="multipart/form-data"> <label>メッセージ</label> <textarea name="post_detail" style="width:100%;height:120px" wrap=soft class="form-control selectpicker"><?= $post_detail ?></textarea> <br> <!-- 写真・資料添付: --> <label>写真/資料添付</label><br><br> <input name="photo" type="file" > <hr> <input type="checkbox" name="rep" value="返信" CHECKED>返信先表示 <br> <input type="checkbox" name="sch" value="1" >予定表添付 </form>

↓↓↓
=確認ページ=

$post_detail = $_POST['post_detail']; $filename = $_FILES["photo"]["name"]; $filetmp = $_FILES["photo"]["tmp_name"]; echo '<table class="table table-bordered table-striped" style="font-size:12" border="1">'; echo '<tr><td>内容</td><td>'.nl2br($post_detail).'</td></tr>'; echo '<tr><td>添付</td><td>'.$filename.'</td></tr>'; echo '</table>'; <form action="reg.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="post_ck_detail" value="<?= $post_detail ?>"> <input type="hidden" name="filename" value="<?=$filename ?>"> <input type=submit value="送信する">

↓↓↓
=書き込みページ=

$filetmp = mb_convert_encoding($_POST['filetmp'],'utf-8','auto'); $filename = mb_convert_encoding($_POST['filename'],'utf-8','auto'); $result = move_uploaded_file($filetmp, $filename); if ( $result === true ) { echo "写真のアップロードが完了しました。<p>"; } else { echo '<font color="red">写真がアップロードされませんでした。<br>写真のサイズが大きすぎる可能性があります。</font><p>'; }

###試したこと
確認ページでのmove_uplode_fileは正常に動作しUPされます。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/10/04 02:32

コードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
guest

回答2

0

確認ページの時点でアップロードされた画像をファイルとして保存する処理を入れるだけ。
そのファイル名などの情報はhiddenで渡してもいいし$SESSIONで持ち運んでもいいし。

投稿2016/10/04 03:25

zico_teratail

総合スコア907

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

falco

2016/10/04 15:39

ファイルとして保存する処理とは、どのような。。。。
zico_teratail

2016/10/04 15:44

yambejpさんが書いてくださった回答をよく読みましょう。 そして少しは自分でググりましょう。
guest

0

ベストアンサー

確認ページが完了した時点でテンポラリファイルは破棄されるでしょう
確認ページでmove_uploaded_file()して実態を確保して
書き込みページは補助的に利用するのが賢明では?
またhiddenでデータを渡すのはあまりよい方法ではないので
やるならうまくsessionを活用したほうがよいでしょう
ファイル名もutf変換するとはいえ制限なしに設定できるのはよくないと思います

投稿2016/10/04 02:17

yambejp

総合スコア114583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

falco

2016/10/04 15:38

なるほど。やはり破棄されるんですね! sessionか~ ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問