2

私は次のデータをURLを介して渡します:

<?php    
   $url = "generate_pdf.php/?feed=" . urlencode(serialize($result));    
   echo '<div id="left-sidebar">';
   echo '<a href="' . $url . '"><div id="pdf">Download PDF</div></a>';
   echo '</div>';
?>

ここでは$result、配列形式のrssフィードデータが含まれています。私はurlencode(serialize($result)そのデータをURL経由で渡し、ローカルマシンで完全に機能するために使用していますが、サーバーでは次のエラーが表示されます:

Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.

この問題に対処するためのあなたの見解を教えてください。

4

2 に答える 2

2

私は一度この間違いをしました(それは間違いをすることよりも知らないこと以上でした!)。Webアプリ用のajaxエンジンを構築しました。getメソッドのみを使用しました。かつて私はたくさんのデータを含むフォームを持っていて、それは機能しませんでした。

いくつかの調査の後、私はこれを見つけました:ここを見てください

したがって、基本的にほとんどのブラウザは約100.000文字をサポートしているため、問題は発生しません。しかし、ApacheのようなほとんどのWebサーバーは、URLから4000文字しかサポートしていません。

いいえ、Apacheを構成してさらに受け入れるようにすることはできません。可能ですが、ソースコードを編集する必要があります。

解決策: Webサーバーとクライアント(ほとんどの場合ブラウザー)間の大規模なデータ転送用に作成されたPOSTメソッドを使用します。

あなたの場合、何らかの理由で入力が4000文字を超えるユーザー入力を含むPDFを作成したいと思います。

于 2012-10-10T10:06:19.013 に答える
1
  1. サーバーのどこかにデータを保存する(データベースなど)
  2. そのようなデータに一意のIDを割り当てます
  3. そのIDをURLに渡します
  4. IDをキーとして使用してストレージからデータを取得する
于 2012-10-10T09:52:20.457 に答える