重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

スマホサイトで画像アップロードのフォームを作成しています。
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件)

2MBはでかいですね。


それをbase64に変換してDBに入れるのも結構重い処理なのではと思います。

その画像はアップしたサイズのままがいいのでしょうか?
圧縮してもよいのならクライアント側で圧縮するのが良いでしょう。

FILE APIが使える場合(IEだとIE10以上)に下記URLが使えます。
http://www.egashira.jp/2013/03/image-resize-befo …
    • good
    • 0

ボトルネックがどこにあるかによります。



・アップロードの回線が遅い
・send.phpのファイルの受け処理が遅い
・send.phpの受けた後の処理が遅い

いくつかのパターンでテストプログラムを組んで問題のきりわけをしてみてください

またセッションを利用しているようですが、ロジックの記載がないため
どう作用しているかわからず、もしかしたらそのあたりが足を引っ張っている
可能性もあるかも。
そもそもsend.phpは自分自身なのか、別のプログラムなのか、
別のプログラムならそのプログラムの内容を記載しなければ適切な回答はできません。

この回答への補足

ご回答有難う御座います。

>またセッションを利用しているようですが、ロジックの記載がないため
申し訳ありません、こちらはたいしたものを書いておりませんので省いております。

>どう作用しているかわからず、もしかしたらそのあたりが足を引っ張っている可能性もあるかも。
無い状態で再度試してみます。

>そもそもsend.phpは自分自身なのか、別のプログラムなのか、
>別のプログラムならそのプログラムの内容を記載しなければ適切な回答はできません
send.phpにはBASE64に変換し、mysqlに登録するプログラムが入っているため、別ファイルとなります。

ただ、send.phpのプログラムが実行する前に、dump、exitを
入れているいるため、現段階ではsend.phpのプログラムが理由では無いと判断しています。

また、度重なるご質問で大変申し訳ありませんが、画像を選択した際にリサイズしてくれるajaxなどのライブラリはございますでしょうか。

補足日時:2014/07/01 17:48
    • good
    • 0

> 1つにつき2MGの画像サイズを早くPOSTさせる方法はありませんでしょうか。


通信環境の問題です。上りが高速のプロバイダに変更するとか、専用線を引くとか、インターネット回線をなんとかする以外に方法はありません。
この方法は自分の回線だけに当てはまる方法で、閲覧するユーザーにこれを強制することは出来ませんから、多くの制作者はアップロードするファイルの容量を制限したり、アップロード自体をシームレスに行うajaxを使ってストレス軽減の工夫をします。

この回答への補足

ご解答いただき有難う御座います。

>多くの制作者はアップロードするファイルの容量を制限したり、
ユーザーにファイルの容量を落とすことは考えておらず(手間を省くため)、
その場で写真をとって、その場でアップロードするといった仕組みにしています。

>アップロード自体をシームレスに行うajaxを使ってストレス軽減の工夫をします。
この方法を何度か試したのですが、それでもストレスがたまってしまうため、
方法を探しております。

補足日時:2014/07/01 17:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!