ホームページ  >  記事  >  バックエンド開発  >  PHPアップロードに関する質問

PHPアップロードに関する質問

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

move_uploaded_file 関数
ファイルをアップロード

現在の要件は、任意の数のファイルをアップロードできることです
ただし、ファイルの合計サイズは 5M を超えることはできません

どうすればよいですか? ?


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

アップロード ファイルのサイズ制限は通常、php.ini および httpd.conf 設定ファイルで変更されます。たとえば、php.ini には
Upload_max_filesize = 8M
post_max_size = があります。 10M
memory_limit = 20M
そのような設定は httpd.conf で利用可能です
LimitRequestBody 10485760
そのような設定

ただし、$_FILES["file"][ を決定するなど、PHP ファイル内でアップロードされたファイルのサイズを直接決定することもできます。 "size"] if 5M より大きい場合、move_uploaded_file は移動されません。

アップロード ファイルのサイズ制限は通常、php.ini および httpd.conf 設定ファイルで変更されます。たとえば、php.ini には、
Upload_max_filesize = 8M
post_max_size = 10M
memory_limit = 20M
このような設定は httpd にあります。 conf があります
LimitRequestBody 10485760
そのような設定

しかし、あなたは PHP を使用しています...

ファイルの合計サイズは 1 つではなく、間違っているようです

アップロード中に、対応するファイルのアップロード情報を記録します (ユーザーによると、データベースやファイルを使用して、アップロードされたファイルの合計サイズまたはユーザーがアップロードした各ファイルのサイズを記録します)

後で対応する判断をしても大丈夫ですか?

php.ini で
session.upload_progress.enabled = on
session.upload_progress.cleanup = off であることを確認します

アップロードされたファイルの合計サイズは
$_SESSION["upload_progress_laruence"]["content_length"] で取得できます

php 5.4 を拒否することはないと思いますね?

アップロード中に対応するファイルのアップロード情報を記録します(ユーザーによると、データベースまたはファイルを使用して、アップロードされたファイルの合計サイズまたはユーザーがアップロードした各ファイルのサイズを記録します)


対応させても大丈夫ですか後は判決?

それは理にかなっていますが、私のニーズは解決されていないように思えます。これは主にメールを送信するための添付ファイルを一度にアップロードするためのものです

たとえば、初回は合計 19M をアップロードできます。 2回目でも合計19Mはアップロードできます
データベースに置いても判断が難しい
php.iniで
session.upload_progress.enabled = on

session.upload_progress.cleanup になっていることを確認します。 = オフ


$_SESSION["upload_progress_laruence"]["content_length"] を使用できます
アップロードされたファイルの合計サイズを取得します

php 5.4 を拒否することはないと思います...
忘れてください、php のバージョンは拒否できません自分で変更〜お客様のサーバー〜

単一ユーザーの合計アップロードサイズをデータベースに記録する必要があります。途中で記録し、各ユーザーの合計アップロードサイズフィールドを追加し、毎回比較して更新する方が良いです。

3階のohmygirlからの返信の引用: アップロード中に対応するファイルアップロード情報を記録します(ユーザーによると、データベースまたはファイルを使用して、アップロードされたファイルの合計サイズまたはユーザーがアップロードした各ファイルのサイズを記録します) )

後から相応の判断をしても良いでしょうか?

それは理にかなっていますが、私のニーズは解決されていないように思えます。これは主にメールを送信するための添付ファイルを一度にアップロードするためのものです。

たとえば、初回は合計 19M をアップロードできます。 2 回目でも合計 19M をアップロードできます
たとえデータベースに置かれたとしても、判断は困難です

つまり、送信される各メールの添付ファイルは 5M を超えることはできないということです。データベース レコードのアップロードの合計サイズは 5M を超えることはできません。各ファイルが送信されると、0 にクリアされて再計算されます。

ポスターの内容は間違っています。5M ではありませんが、1 つのメールで送信される添付ファイルの合計サイズは 20M を超えてはなりません~

忘れてください、PHP のバージョンは自分で変更することはできません ~ お客様のサーバー~
それは足し合わないのか、そうでないのか、やったのか?

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