ホームページ >バックエンド開発 >PHPチュートリアル >PHPで大きなファイルをアップロードするにはどうすればよいですか?

PHPで大きなファイルをアップロードするにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 14:39:28930ブラウズ

この投稿は xq_blessing によって最終編集されました: 2012-06-25 09:01:11

タイトルにあるように、ビデオ Web サイトはユーザーが自分のビデオを共有できるようにしたいと考えています (サイズは 1G 以内に制御されます)。

コードを直接入力していただければ、さらに感謝します~

ディスカッションに返信 (解決策)

PHP+flash アップロード

youku のような動画をアップロードするにはどうすればよいですか

Upload_max_filesize と post_max_size

http: / /www.howareyou.org.cn/?p=162

php.iniの関連パラメータを変更してください。phpの2G以内のファイルはまだOKです

投稿者がどのようなWebサイトを作りたいのか分かりません

フラッシュを使う 普通は無理

社内の一部のスタッフだけが使う場合は、ftp を直接開いてください

ls をサポートしているものが大きすぎる場合は、ftp を直接使用する方が良いです

タイトルの通り、ビデオ Web サイトは、ユーザーが自分のビデオを共有できるようにしたいと考えています (サイズは 1G 以内に制御する必要があります)。

コードを直接アップロードしていただければ、さらに感謝します~
非常に大きなファイルをアップロードするには、従来の HTML 方法ではもはや十分ではありません。 100MB は言うまでもなく、50MB はサーバーにとって非常に大きいため、サービスはファイルのアップロードを待つために特別なリンクを開く必要があるだけでなく、ファイルを保存するために同等のメモリを割り当てる必要があるため、サーバーにとっては非常にストレスがかかります。サーバー。 Flash を使用する場合でも、現在の Flash はブレークポイント再開操作をサポートしておらず、Flash のアップロード原理も従来の HTML のアップロード原理と同じであるため、機能しません。 Flash を使用して 100MB の画像をアップロードするには、サーバーも 100MB のメモリを割り当てる必要があります。 10 人のユーザーが同時に 100MB のデータをアップロードすると、1G のサーバー メモリが消費されます。
一部の友人は、Flash ファイル アップロード コントロールを使用して非常に大きなファイルをアップロードしようとしましたが、アップロード タイムアウトやアップロード エラーが頻繁に発生しました。これは、現在の Flash ファイル アップロード コントロールが従来の HTML アップロード方法と同じテクノロジーを依然として使用しているためです。マルチパート アップロード テクノロジーを使用しないこの従来の HTML アップロード方法では、Flash アップロードが完了するまでサーバーが SOCKET 接続を開く必要があります。同時実行数が多い場合、これによりサーバーに多大な負荷がかかる可能性があります。Web サイトへのアクセス数が多く、ユーザーが多数のファイルをアップロードするため、サーバーは 1 人のユーザーを長時間待つことができません。彼らは皆、ユーザーのリクエストをできるだけ短い時間で処理することを望んでいます。
QQ メールボックスの特大添付ファイルのアップロード機能、115 Netdisk、Huawei Netdisk (DBank)、および Kingsoft Express の特大添付ファイルのアップロード コントロールと同様に、これらはすべてコントロールを使用して特大ファイルのアップロード機能を実装しています。これは主に、サーバーの負荷を軽減し、サーバーのメモリを節約し、ユーザー エクスペリエンスを向上させることが目的です。

一部の社内スタッフのみが使用する場合は、ftp を直接開きます

ftp は、拡張機能をインストールしてデータベースをサポートするスクリプトを作成することもできます

如题,视频网站想实现用户自己分享自己的视频(大小控制在1G以内)。

直接上代码就更感谢了~
网上有一个Web大文件断点续传控件: http://www.cnblogs.com/xproer/archive/2012/05/29/2523757.html
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
粘贴文件,简化选择文件操作:

文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续传控件

与Discuz!X2整合-后台断点续传控件启用成功

与Discuz!X2整合-前台发帖页面

与Discuz!X2整合-上传


页面调用示例代码:




    HTTP断点续传控件与MySQL数据库演示页面(UTF-8)
    
    
    
    
    
    





资源下载:
CAB安装包
开发文档
  ASP.NET-ACCESS-GB2312示例
JSP-ACCESS-GB2312示例
JSP-ACCESS-UTF8示例
JSP-SqlServer2005-UTF8示例
JSP-MySQL-UTF8示例
PHP-MySQL-UTF8示例

引用楼主  的回复:
如题,视频网站想实现用户自己分享自己的视频(大小控制在1G以内)。

直接上代码就更感谢了~

Xproer.HttpUploader4
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
粘贴文件,简化选择文件操作:

文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续传控件

与Discuz!X2整合-后台断点续传控件启用成功

与Discuz!X2整合-前台发帖页面

与Discuz!X2整合-上传


页面调用示例代码:





    HTTP断点续传控件与MySQL数据库演示页面(UTF-8)
    
    
    
    
    
    






リソースのダウンロード:
CAB インストール パッケージ
ASP.NET-ACCESS-GB2312 の例
JSP-ACCESS-UTF8 の例
JSP -SqlServer2005-UTF8 の例
JSP-MySQL-UTF8 の例
PHP-MySQL-UTF8 の例
これは非常に良いです。

実際のネットワーク環境では、一般に約 100MB のファイルをコントロールの助けを借りて実現する必要があります。それは、国内のネットワーク環境が不安定であることと、サーバーの負荷が原因であることが考えられます。
当社の Web サイト ユーザーの中には、チャイナ テレコムのネットワークを使用している人、チャイナ ユニコムのネットワークを使用している人、教育ネットワークを使用している人もいます。この複雑なネットワーク環境は、アクセス速度に影響を与えます。ウェブサイトは異なります。たとえば、テレコム ユーザーがテレコムのコンピュータ ルームにアクセスする場合、大きなファイルを問題なくアップロードできる人もいます。ただし、チャイナユニコムからチャイナテレコムのコンピュータ室へのアクセスが遅くなる場合があり、大きなファイルをアップロードする際にアップロードのタイムアウトや切断などの問題が発生する可能性があります。

サーバー負荷の問題に関しては、現在の通常のファイルアップロード技術では依然としてサーバーに大きな負荷がかかります。通常の HTML で 1G ファイルをアップロードするには、サーバーは最初に 1G のメモリを割り当て、次に長い接続を開き、クライアントがアップロードを完了するのを待つ必要があります。この期間中に、他のユーザーも 1G ファイルをアップロードしたい場合、サーバーはさらに 1G のメモリを割り当てます。ユーザーが多すぎると、サーバーが問題を処理できなくなることが考えられます。 swfupload やその他の Flash コントロールなどの Flash を使用する場合でも、使用されるテクノロジは通常の HTML と同じです。

Tencent はこの問題を検討しており、コントロールを使用してこの問題を解決しています。このコントロールを使用して、1G などの大きなファイルを多数の小さな部分 (それぞれの小さな部分は約 128 KB) に分割し、アップロードが完了するまでループしてアップロードします。この利点は、サーバーへの負荷が軽減され、サーバーの負荷容量が向上し、サーバーがより多くのユーザー要求を処理できるようになることです。コストも節約できます。


コントロールを使用する必要があります。 。 。

12 階の返信からの引用:

投稿者の返信からの引用:
タイトルにあるように、動画 Web サイトではユーザーが自分の動画を共有できるようにしたいと考えています (サイズは 1G 以内に制御する必要があります)。

コードを直接アップロードしていただければ、さらに感謝します~

Xproer.HttpUploader4
このコントロールは、100G ファイルの再開可能なアップロード操作をサポートし、完全な開発ドキュメントを提供し、ファイル MD5 検証をサポートし、ファイルのバッチ アップロードをサポートします。
ファイルを選択する操作を簡素化するためにファイルを貼り付けます:

ファイル MD5 値の計算の進行状況:

ファイル MD5 値の計算が完了しました
...

実際には、Web から分離されており、単なる C/S です。

SOCKET またはカール

この種のリソースでは、人々がコードに直接アクセスするのは困難です

Mark 12th Floor

13th Floor の返信からの引用:

12th Floor の返信からの引用:

投稿者のコメントからの引用返信:
質問、ビデオ Web サイトでは、ユーザーが自分のビデオを共有できるようにしたいと考えています (サイズは 1G 以内に制御する必要があります)。

コードを直接アップロードしていただければ、さらに感謝します~

Xproer.HttpUploader4
このコントロールは、100G ファイルの再開可能なアップロード操作をサポートし、完全な開発ドキュメントを提供し、ファイル MD5 検証をサポートし、ファイルのバッチ アップロードをサポートします。
ファイルの貼り付けとファイル選択操作の簡素化:

ファイルの MD5 値の計算の進行状況...
現在、クライアントとサーバーが結合されているようですが、ユーザーにとって使いやすさ、つまりユーザー エクスペリエンスが最も重要です。最も重要な。ユーザーは、あなたが C/S か B/S であるかどうかを気にしません。それができる限り、B/S または C/S でこの機能を実装する必要があります。

これは、QQ メールボックスの大きな添付ファイルのアップロード コントロールもコントロールで作られていることからわかります。QQ メールボックスの写真のアップロード コントロールもコントロールで作られています。 QQスペースもコントロールでできています。これらはすべてC/Sです。 C/Sかどうかを気にするユーザーはほとんどおらず、使いやすいかどうかだけを気にしています。

さらに、QQ メールボックスの大規模な添付ファイルのアップロード制御が、QQ が多くの市場を獲得するのに貢献したようです。 Tencent がこの機能を初めて導入したとき、誰もが非常に興奮しました。 QQ Mailbox は業界にとって素晴らしいことをしたと感じており、非常に刺激的です。

投稿者の返信を引用:

タイトルにあるように、ビデオ Web サイトはユーザーが自分のビデオを共有できるようにしたいと考えています (サイズは 1G 以内に制御する必要があります)。


コードを直接入力していただければ、さらに感謝します~

インターネット上に Web ラージ ファイル ブレークポイント再開アップロード コントロールがあります: http://www.cnblogs.com/xproer/archive/2012/05/29/2523757 .html
このコントロールは、100G ファイルのブレークポイント再開操作をサポートし、完全な開発ドキュメントを提供し、ファイル MD5 検証をサポートし、ファイルのバッチ アップロードをサポートします。
テキストを貼り付けました...

お疲れ様です

投稿者の返信を引用:
タイトルにあるように、ビデオ Web サイトはユーザーが自分のビデオを共有できるようにしたいと考えています (サイズは 1G 以内に制御する必要があります)。

コードを直接アップロードしていただければ、さらに感謝します~

従来の HTML 方式では、非常に大きなファイルをアップロードする要件を満たすことができなくなりました。 100MB は言うまでもなく、50MB はサーバーにとって非常に大きいため、サービスはファイルのアップロードを待つために特別なリンクを開く必要があるだけでなく、ファイルを保存するために同等のメモリを割り当てる必要があるため、サーバーにとっては非常にストレスがかかります。サーバー。 Flash を使用している場合でも、現在の Flash はブレークポイント再開操作をサポートしていないため、機能しません...

専門家は学びました

共有してくれてありがとう、コントロール HttpUploader5 が役立つと素晴らしいですね

ありますか無私の人はいますか? 一緒に働きましょう コミュニケーションを学びましょう

学ぶ価値のあることがたくさんあります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。