0

このタイトルには多くの質問がありますが、誰も助けません。私のアプリケーションは、最大 2 GB のサイズのファイルのアップロードを処理する必要があり、FTP ファイル アップローダーなどではなく、ブラウザを介して行う必要があります。
たとえば、で構成設定を行う必要があることを認識していますphp.ini。しかし、私の心にはいくつかの質問があります:

  1. uploadifyライブラリのようなものは、このファイル サイズの適切なソリューションですか、それともより良い代替手段がありますか?

  2. サイズが大きいため、一時停止/再開機能を含めることが望ましい場合があります。ブラウザ経由で HTTP ファイル転送を介してこの機能を実装することは可能ですか? はいの場合、どのように?

  3. DOS ATTACKSのようなある種の脆弱性について話す人もいます。この場合、それは深刻な問題であり、この種の攻撃に対する考慮事項は何ですか?

追加の推奨事項や提案がある場合は、それらについて教えてください。

更新: FTP ファイルのアップロードを使用してジョブを実行することを提案する人もいます。各ユーザーに専用の FTP アカウントを割り当てて、FileZilla などの FTP クライアントを使用してファイルをアップロードできるようにする必要がありますか? その場合、受信プロセスをどのように処理するか。たとえば、各ユーザーに/home/user1のようなディレクトリを与え、ユーザーは自分のファイルをこのディレクトリにアップロードします。アップロードされたファイル データを取得し、ユーザー セッション データに従ってデータベースに保存する方法を教えてください。
一般的に、この FTP ファイル アップロード システムを介してスクリプトを作成する方法を意味しますか?
またはそれが不可能な場合は教えてください。

助けてください。

4

1 に答える 1

0

一時停止/再開は、HTTP アップロードの標準機能ではありません。

それを機能させることは可能であるべきですが、多くの作業が必要であり、おそらく非常に不安定な品質です.

再開を実装するには、次のものが必要です。

  • サーバーにクエリを実行し、アップロード済みのファイルの量を問い合わせることができる Javascript フロント エンド。
  • Javascript は、ブラウザでアップロード ファイルをチャンクに分割し (これは、2 GB のファイルを使用するユーザーにとっては非常に苦痛になります)、アップロードが以前に停止した時点から開始する必要があります。
  • HTTP リクエストはファイル全体を一度に送信するため、一時停止できるようにする場合は、Javascript もチャンクで送信する必要があり、ユーザーが「キャンセル」を押した場合に次のチャンクを中止するイベント ハンドラーが必要です。
  • PHP プログラムは、各履歴書をまったく新しいファイルのアップロードとして扱うため、既存のファイルの新しいチャンクを受信して​​いることを認識し、appendモードを使用する必要があります。

それが不安定でエラーの多いシステムのレシピのように聞こえるなら、あなたは正しいでしょう. このようなサイトを使用してファイルをアップロードしたくありません。うまくいかないことが多すぎます。

役立つかもしれないチュートリアルがここにありますが、私はまだそれが良い考えだとは思いません.

私があなたなら、アップロード用に (S)FTP サーバーをセットアップすることを検討します。面倒なことはずっと少なくなります。

于 2013-02-14T14:58:18.537 に答える