1

クライアントが未加工の画像/長いPDFなどをアップロードするために使用する大きなファイル(最大2GB)を処理します。PHP が最善の解決策ではないことをオンラインで読みましたが、すべてのクライアントに FTP プログラムをダウンロードさせたり、ユーザー名/ディレクトリを作成させたり、ファイルを一度アップロードするためだけにパスワードを与えたりすることはできません。

私が求めているのは、使用するより優れた、より高速な機能は何ですか、それとも問題ではありませんか? ftp_get() または move_uploaded_file() ? PHPを使用してこれを達成できるより良い方法はありますか?

ftp であるため、ftp_put の方が高速で実行可能であると考えていましたが、この質問をしている理由がよくわかりません。

ご意見ありがとうございます。

4

2 に答える 2

1

move_uploaded_file()ファイルをアップロードした後は、常に使用する必要があります。これは、ファイルを一時ストレージから保存したい場所 (通常はアプリケーション ツリーの uploads/ ディレクトリ) に移動することです。

ftp_put()そのファイルをオフサイトの別の FTP サーバーに移動することです。

于 2012-12-18T19:52:15.230 に答える
0

これは同じ仕事ではありません。

最初のケースでは、ユーザーがファイルをサーバーに直接アップロードし、move_uploaded_file.

ここに画像の説明を入力

  • 長所: ユーザーは事前に ftp サーバーでファイルを送信する必要はありません。
  • 短所: 一般的に接続が遅いユーザーに直接関与しているため、潜在的に危険な非常に長い接続を許可する必要があります。

2 番目のケースでは、ユーザーがそのようなアップロード用に構築された FTP サーバーにファイルをアップロードします。次に、通常は帯域幅とアップロード速度が良好なリモート サーバーにあるファイルをダウンロードします。

ここに画像の説明を入力

  • 長所: 非常に長い接続と非常に大きな入力を処理するように Web サーバーを構成する必要がないため、セキュリティが向上します。ダウンロードは一般的に高速になるため、ユーザーはサービスがそれほど遅くないと感じるでしょう。
  • 短所: ユーザーはファイルを ftp に送信する必要があります。これは、それが何であるかさえ知らない人にとってはあまり便利ではありません。

ファイルのサイズに応じて、両方のオプションを提供することをお勧めします。

ここに画像の説明を入力

また、FTP を Web のサーバーと同じサーバーに配置すると、ファイル システム内のファイルに直接アクセスすることができますftp_get。これはさらに高速になるはずです。

于 2012-12-18T19:56:25.573 に答える