PHPのアップロードファイルサイズ制限をかける方法
PHPでアップロードするファイルのサイズは、以下の方法で制限できる:
- php.iniファイルでアップロードするファイルの上限を設定する:
- php.iniファイルを開き、upload_max_filesizeとpost_max_sizeの設定項目を見つける。
- これらの2つの設定の値を、必要な最大のファイルサイズ(例: upload_max_filesize = 10M、post_max_size = 10M)に変更してください。
- php.iniファイルを保存し、ApacheまたはNginxサーバーを再起動して設定を適用します。
- PHPスクリプト内でini_set()関数を使ってアップロードするファイルの最大サイズを設定する:
- PHPスクリプトの先頭に以下コードを追加する: ini_set(‘upload_max_filesize’, ’10M’); と ini_set(‘post_max_size’, ’10M’);。
- 10Mを必要な最大ファイルサイズに置き換える。
- スクリプトを実行すると、これらの設定は現在のスクリプトにのみ適用されます。
- PHPスクリプトでファイルサイズのバリデーションに$_FILES超グローバル変数を使用
- アップロードファイルを受け取る PHP スクリプトでは、$_FILES スーパーグローバル変数を使用してアップロードファイルのサイズを取得します。例: $fileSize = $_FILES[‘file’][‘size’];
- ファイルサイズが制限を超えているかどうかを条件文で判定する(例:if ($fileSize > 10 * 1024 * 1024) { // ファイルサイズが10MBを超えている場合 })。
- 必要に応じて、ファイルが大きすぎることをユーザーに通知したり、アップロードを拒否したりなどの処理を行う。
なお、上記の手順ではファイルサイズ単位がバイトです。下記の単位に換算してください。
1キロバイト(KB)は1024バイトです。
1MB = 1024KB = 1024 × 1024バイト