ホームページ  >  記事  >  PHP でマルチパート ファイルのアップロードを実装する方法

PHP でマルチパート ファイルのアップロードを実装する方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼転載
2020-01-17 17:35:146182ブラウズ

PHP でマルチパート ファイルのアップロードを実装する方法

PHP は、スーパー グローバル変数配列 $_FILES を使用して、ファイルのアップロード関連情報を記録します。

1.file_uploads=on/off

http

2.max_execution_time= 経由でのファイルのアップロードを許可するかどうか30

スクリプトの最大実行時間が許可されています。この時間を超えると、エラーが報告されます。

3.memory_limit=50M

割り当てられるスクリプトを設定する暴走スクリプトによる過剰なメモリの占有を防ぐための最大メモリ量このディレクティブはコンパイル時にのみ設定できます。

--enable-memory-limit フラグが設定されている場合にのみ有効になります

4.upload_max_filesize=20M

ファイルの最大サイズアップロードが許可されている場合、このコマンドは post_max_size より小さくなければなりません

5.upload_tmp_dir

アップロードされたファイルの一時保存ディレクトリ

6.post_max_size=30M

投稿モードが最大サイズを受け入れることを許可します

$_FILES['myFile']['name'] 元の名前クライアントの最後のファイル。

$_FILES['myFile']['type'] ファイルの MIME タイプ。ブラウザがこの情報 (「image/gif」など) をサポートする必要があります。

$_FILES['myFile']['size'] アップロードされたファイルのサイズ (バイト単位)。

$_FILES['myFile']['tmp_name'] ファイルのアップロード後にサーバーに保存される一時ファイル名。通常はシステムのデフォルトです。 php.iniのupload_tmp_dirで指定できますが、putenv()関数で設定しても効果はありません。

$_FILES['myFile']['error'] ファイルのアップロードに関連するステータス コード。 ['error'] は PHP 4.2.0 で追加されました。 (PHP3.0 以降は定数になりました)

UPLOAD_ERR_OK

値: 0; エラーは発生せず、ファイルは正常にアップロードされました。

UPLOAD_ERR_INI_SIZE

値: 1; アップロードされたファイルは、php.ini の Upload_max_filesize オプションで制限された値を超えています。

UPLOAD_ERR_FORM_SIZE

値: 2; アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。

UPLOAD_ERR_PARTIAL

値: 3; ファイルの一部のみがアップロードされました。

UPLOAD_ERR_NO_FILE

値: 4; ファイルはアップロードされませんでした。

値: 5; アップロードされたファイルのサイズは 0 です。

ファイルがアップロードされた後、ファイルはデフォルトで一時ディレクトリに保存されます。このとき、一時ディレクトリから削除する必要があります。ディレクトリに移動するか、別の場所に移動するか、存在しない場合は削除されます。

つまり、アップロードが成功したかどうかに関係なく、スクリプトの実行後、一時ディレクトリ内のファイルは確実に削除されます。

添付ファイル: PHP アップロード ファイルのサイズ制限を変更する方法

1. ファイルが非常に小さい場合を除き、一般的なファイル アップロード。 5M ファイルと同様に、アップロードにはおそらく 1 分以上かかります。

しかし、php では、ページのデフォルトの最大実行時間は 30 秒です。つまり、30 秒を超えると、スクリプトは実行を停止します。

この結果Web ページの状況に応じて、php.ini で

max_execution_time

を探して max_execution_time

を変更できます。デフォルトは 30 秒です。 to

max_execution_time = 0

0 は制限なしを意味します

2. post_max_size を変更して、POST データに許可される最大サイズを設定します。この設定はファイルのアップロードにも影響します。

php のデフォルトの post_max_size は 2M です。POST データ サイズが post_max_size より大きい場合、$_POST および $_FILES スーパーグローバルは空になります。

post_max_size を見つけます。## に変更します。

# post_max_size = 150M

3. 多くの人は 2 番目のステップを変更しますが、ファイルをアップロードするときの最大サイズは依然として 8M です。

なぜですか? アップロードされるファイルの最大サイズを示すために、パラメーター Upload_max_filesize も変更する必要があります。

upload_max_filesize を探します。デフォルトは 8M で、これを

upload_max_filesize = 100M

に変更します。また、post_max_size は、upload_max_filesize よりも優れていることに注意してください。

アップロード効果の表示 :

PHP でマルチパート ファイルのアップロードを実装する方法

PHP 中国語 Web サイトには、無料の

PHP ビデオ チュートリアル が多数あり、誰でも学習できます。

この記事は、https://www.jianshu.com/p/6460dc947209

から転載されました。

声明:
この記事はjianshu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。