PHP の $_POST データの制限はどの程度が妥当なのでしょうか? 画像ファイルなどのアップロードは別扱うになるので、それほど大きなデータをおくられないと思われます。ブラウザからテキストエリアに無理やりいれると、1メガぐらいまでは平気で送れるようです。一般的にHTMLのフォームから、テキストを送るのはどのくらいの分量なのでしょうか? wiki でめちゃくちゃ長いのがあるとかなりいきそうです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/04/01 23:35:32
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント27pt

Webアプリによって case by case なので何とも言えません。

マルチメディアデータは別扱いということでしたら、掲示板のようなアプリなら、textarea で入ってくるテキストデータが最も大きいと思います。原稿用紙1枚(800byte)もあれば、普通は十分ではないでしょうか。

ご自分だけが利用するようなアプリについては、もっと大きなサイズにしておいてもかまわないでしょう。


また、過去に「PHPを使ったファイルアップロードで‥‥」で質問されているようなので、大丈夫だとは思いますが、バッファーオーバーランを防ぐために、

  1. クライアントサイドで送信直前にJavaScriptを使ってteatareaのサイズをチェックする
  2. サーバサイドで指定サイズより大きな$_POSTを受け取らないようにしておく

の2つのチェックを組み込んでおくことをお勧めします。

id:isogaya

ワード、エクセルのデータ貼付けが結構あります。これはテキストファイルですが、非常に大きくなります。厳密でなくて、おおやすの目安を知りたいのです。

case by case だということぐらいは知っています。

2008/03/26 14:06:53
id:tomcat_a88 No.2

回答回数48ベストアンサー獲得回数3

ポイント27pt

過去に、似た質問がありましたので、URLを貼っておきます。

http://q.hatena.ne.jp/1087880936

テキストの送信に限って整理してみると…

  • <form method=post> で渡すデータ量に制限はない
    • HTTPヘッダの ContentsLength は 0 以上なら全て有効
  • Apache側で受け取るコンテンツの長さの設定ができる
  • PHP側での制限 変数の容量限界は設定された使用メモリ量に依存
    • デフォルトでは8Mの設定になっていると思います。
    • php.ini の、 memory_limit を参照してみてください
  • 大量データを受け取る際のタイムアウトがあり得る
    • あまり大きいとアップロード中にPHPがタイムアウトするかも。
    • php.ini の max_execution_time を長めに取る等対策要?

以上から考えて、PHP以外の部分で制約がなければ、php.iniで設定したメモリサイズまで受け付けられると考えて良いでしょう。

(もちろん、他の変数もメモリを使いますので、あくまで目安です)


PHPで設定したメモリで、メモリ不足不足に陥らない程度に、Apache側で制限しておけばいいのではないでしょうか。

あとは、普段送信するデータの容量から平均をとってみれば良いのでは?

先に回答されている方が言うように、サーバー設定の case by case ではありますね(笑)

少しでもご参考になれば。

id:tomcat_a88 No.3

回答回数48ベストアンサー獲得回数3

ポイント26pt

追補です。

ワード、エクセルのデータ貼り付けとありますが、これはテキストボックスへの貼り付け(テキストとして送信され$_POST格納)と解釈していました。

もし、ファイルとして送信しているのであれば、データはディスク上に保存されますのでサーバーのハードディスク容量&PHPの max_upload_size 設定に依存します。

ご存じかとも思いましたが、一応…。

http://php.benscom.com/manual/ja/reserved.variables.php

id:isogaya

いえ、テキストボックスへの貼り付けです。ワードやエクセルの表をコピーして、テキストボックス内に貼り付けします。CSS というかスタイルがばりばり冗長についたHTMLが生成されます。

2008/03/29 11:06:03

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません