
スマホサイトで画像アップロードのフォームを作成しています。
5つほど添付できるようにしています。
form.php
<form action="./send.php" method="post" enctype="multipart/form-data" novalidate="novalidate">
画像<br>
<?php
for($i = 1; $i <= 5; $i++) {
echo '<input type="hidden" name="item_img_name[' .$i. ']" value="' .$_SESSION['item_img_name'][$i]. '">'."\n";
echo '<input type="file" name="item_img[' .$i. ']" id="item_img_' .$i. '" value=""><br>'."\n";
}
?>
<input type="submit" value="送信">
</form>
以上の内容でフォームを作成しております。
問題なのが、サブミットした際send.phpに切り替わるのがかなり遅く大変困っています。
1つにつき2MGの画像サイズを早くPOSTさせる方法はありませんでしょうか。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
2MBはでかいですね。
それをbase64に変換してDBに入れるのも結構重い処理なのではと思います。
その画像はアップしたサイズのままがいいのでしょうか?
圧縮してもよいのならクライアント側で圧縮するのが良いでしょう。
FILE APIが使える場合(IEだとIE10以上)に下記URLが使えます。
http://www.egashira.jp/2013/03/image-resize-befo …
No.2
- 回答日時:
ボトルネックがどこにあるかによります。
・アップロードの回線が遅い
・send.phpのファイルの受け処理が遅い
・send.phpの受けた後の処理が遅い
いくつかのパターンでテストプログラムを組んで問題のきりわけをしてみてください
またセッションを利用しているようですが、ロジックの記載がないため
どう作用しているかわからず、もしかしたらそのあたりが足を引っ張っている
可能性もあるかも。
そもそもsend.phpは自分自身なのか、別のプログラムなのか、
別のプログラムならそのプログラムの内容を記載しなければ適切な回答はできません。
この回答への補足
ご回答有難う御座います。
>またセッションを利用しているようですが、ロジックの記載がないため
申し訳ありません、こちらはたいしたものを書いておりませんので省いております。
>どう作用しているかわからず、もしかしたらそのあたりが足を引っ張っている可能性もあるかも。
無い状態で再度試してみます。
>そもそもsend.phpは自分自身なのか、別のプログラムなのか、
>別のプログラムならそのプログラムの内容を記載しなければ適切な回答はできません
send.phpにはBASE64に変換し、mysqlに登録するプログラムが入っているため、別ファイルとなります。
ただ、send.phpのプログラムが実行する前に、dump、exitを
入れているいるため、現段階ではsend.phpのプログラムが理由では無いと判断しています。
また、度重なるご質問で大変申し訳ありませんが、画像を選択した際にリサイズしてくれるajaxなどのライブラリはございますでしょうか。
No.1
- 回答日時:
> 1つにつき2MGの画像サイズを早くPOSTさせる方法はありませんでしょうか。
通信環境の問題です。上りが高速のプロバイダに変更するとか、専用線を引くとか、インターネット回線をなんとかする以外に方法はありません。
この方法は自分の回線だけに当てはまる方法で、閲覧するユーザーにこれを強制することは出来ませんから、多くの制作者はアップロードするファイルの容量を制限したり、アップロード自体をシームレスに行うajaxを使ってストレス軽減の工夫をします。
この回答への補足
ご解答いただき有難う御座います。
>多くの制作者はアップロードするファイルの容量を制限したり、
ユーザーにファイルの容量を落とすことは考えておらず(手間を省くため)、
その場で写真をとって、その場でアップロードするといった仕組みにしています。
>アップロード自体をシームレスに行うajaxを使ってストレス軽減の工夫をします。
この方法を何度か試したのですが、それでもストレスがたまってしまうため、
方法を探しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
PHPで画像の渡しが上手く行きま...
-
適性診断テストみたいなものを...
-
【PHPチェック】ラジオボタンが...
-
検索時の選択内容を保持する方法
-
プルダウンリンクを外部ファイ...
-
scanfでの読み込み文字数制限
-
laravelを利用してコントロール...
-
「"」(ダブルクォーテーション)...
-
リンク先のフォームに自動的に...
-
Flaskでサーバー立ち上げに関して
-
セレクトしたときに全て初期状...
-
テキストリンクをPOST送信したい
-
コンボボックス(プルダウン)...
-
PHP プルダウンメニュー MYSQL
-
ドロップダウン、ラジオボタン...
-
PHP で画面の一部だけを変えたい。
-
PHPでファイルアップロード時に...
-
wordpress環境でのお問い合わせ...
-
phpのプルダウンメニューで選ん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
検索時の選択内容を保持する方法
-
HTMLで前の画面に戻る時、入力...
-
ショッピングカートの作成
-
PHPで画像の渡しが上手く行きま...
-
PHPでCookieを使った訪問回数に...
-
phpでのボタン押下の活性・非活...
-
フォームへの前回入力値をクリ...
-
DBの値をチェックボックスに反...
-
テキストボックスとsubmitボタ...
-
パラメーターを隠す
-
PHPでユーザー情報を入力して簡...
-
POSTデータのNAME属性をVALUEに...
-
<input type="hidden" >で配列...
-
左右に分かれているフレーム間...
-
【PHPチェック】ラジオボタンが...
-
入力した部分を表示させたまま...
-
複数チェックボックスの入力制...
-
ラジオボタンをsessionで使いたい
-
複数のラジオボタングループを...
-
PHPの初心者です。現在チェック...
おすすめ情報