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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

945閲覧

複数画像のアップロード

mikiko.s

総合スコア14

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/05/28 07:36

phpとJavascriptの初心者で質問させていただきます。

現在下記のようなソースで、一つずつ選択した画像をアップロードし、
並び替える仕様なのですが、
複数の画像を一度に選択してアップロードし、並び替えられる仕様に変えたいと考えています。

下記のソースをどのように書き換えれば良いか、
ご教示いただけないでしょうか。
(現在、最大4枚の場合ですが、枚数に関わらず動くようにしたいです。)
どうぞよろしくお願いいたします。

<div> <form action="image1_input.php?id=<?=$ID?>" method="post" enctype="multipart/form-data"> <div class="IMAGE_SHINKI"> <?php for($i=1;$i<=10;$i++){ $j=sprintf("%02d",$i); ?> <span>写真<?=$j?>:<input type="file" name="upfile<?=$i?>" size="100" /></span> <?php }?> </div> <input class="SEND" type="submit" value="アップロード"> </form> </div> <strong>画像 ※ドラッグ&ドロップで順番を入れ替える</strong> <?php $PHOTO_SPLICE = array_chunk($PHOTO,4); foreach ((array) $PHOTO_SPLICE as $key => $value) { $sort[$key] = $value[3]; } array_multisort($sort, SORT_ASC, $PHOTO_SPLICE); ?> <form method="post" action="image2.php?id=<?=$ID?>" enctype="multipart/form-data"> <ul id="sortable" class="sortable"> <?php for ($i=0; $i < count($PHOTO_SPLICE); $i++) : ?> <li class="sortable_photo" id="photo<?=$i+1?>"> <div class="number"><?php echo $i+1; ?>枚目</div> <div class="delete">×</div> <div class="PHOTO"><img src="../../img/mansion_new_img/<?=$PHOTO_SPLICE[$i][0]?>"></div> </li> <?php endfor ?> </ul> <input type="hidden" name="photo_cnt" value="<?=$i?>" id="photo_cnt"/> <input type="submit" class="SEND" value="保存" /> <span class="UP_ALART UP_ALART_S">保存後、図面が登録できます。</span> </form> <script type="text/javascript"> $(window).load(function(){ var height = $("#sortable").innerHeight(); $("#sortable").height(height); }); $('.delete').on('click',function(){ $(this).parent().remove(); $('#sortable li').each(function(i){ $(this).attr('id','photo' + (i+1)); $(this).find(".number").html((i+1)+'枚目'); $(this).find("#photo_order").val((i+1)); $(this).find("#photo_cnt").val((i+1)); var height = $("#sortable").innerHeight(); $("#sortable").height(height); }); }) $(function(){ $("#sortable").sortable({ revert: true , cursor : 'move' , tolerance: 'pointer' , update: function(event, ui) { $(function(){ $('#sortable li').each(function(i){ $(this).attr('id','photo' + (i+1)); $(this).find(".number").html((i+1)+'枚目'); $(this).find("#photo_order").val((i+1)); $(this).find("#photo_cnt").val((i+1)); var height = $("#sortable").innerHeight(); $("#sortable").height(height); }); }); } }) //.disableSelection(); }); </script>

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

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

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

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

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

yambejp

2020/05/28 14:09

multiple処理ではなくinputを分けたい意味はあるのでしょうか?
guest

回答1

0

どういう動作になるかソースではわからないのと、複数画像のアップロードというタイトルなので、

html

1<div> 2<form action="image1_input.php?id=<?=$ID?>" method="post" enctype="multipart/form-data"> 3<div class="IMAGE_SHINKI"> 4<?php for($i=1;$i<=10;$i++){ 5$j=sprintf("%02d",$i); 6?> 7<span>写真<?=$j?><input type="file" name="upfile<?=$i?>" size="100" /></span> 8<?php }?> 9</div> 10<input class="SEND" type="submit" value="アップロード"> 11</form> 12</div>

ここの部分でボタン押してファイル選択されたらにファイルタグが自動的に増えるとかならば
フォームから複数のファイルをアップロード(入力欄の動的追加・削除)

ここらへん参考にして、動的に増やすとかかな
(ただ単にファイル選択時に複数ファイル選択可能にするならばmultiple属性をつけるだけ)

投稿2020/05/28 10:43

rururu3

総合スコア5545

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問