PHP ファイルアップロード処理サンプル
作成日時:2019/04/28
更新日時:2019/08/19
スポンサーリンク
この記事の確認環境
phpversion() : 7.2.7
ini.sect.file-uploads
https://www.php.net/manual/ja/ini.core.php#ini.sect.file-uploads
キー | 説明 |
---|---|
file_uploads | ファイルアップロードを有効にするか。 |
upload_tmp_dir | ファイルアップロード時にtmpファイルの保存に使用するディレクトリ |
max_input_nesting_level | $_POST変数等のネスト深さの最大値を指定します。 |
max_input_vars | 入力された変数を受け取る最大値を指定します。 |
upload_max_filesize | アップロードファイルのサイズ最大値を指定します。 |
max_file_uploads | 同時にアップロード可能なファイル数を指定します。 |
ini_get('file_uploads'); ini_get('upload_tmp_dir'); ini_get('max_input_nesting_level'); ini_get('max_input_vars'); ini_get('upload_max_filesize'); ini_get('max_file_uploads');
エラー
https://www.php.net/manual/ja/features.file-upload.errors.php
キー | 値 |
---|---|
UPLOAD_ERR_OK | 0 |
UPLOAD_ERR_INI_SIZE | 1 |
UPLOAD_ERR_FORM_SIZE | 2 |
UPLOAD_ERR_PARTIAL | 3 |
UPLOAD_ERR_NO_FILE | 4 |
UPLOAD_ERR_NO_TMP_DIR | 6 |
UPLOAD_ERR_CANT_WRITE | 7 |
UPLOAD_ERR_EXTENSION | 8 |
UPLOAD_ERR_FORM_SIZE
ファイル用のinput前に以下の記述にてファイルサイズ上限の指定を行うと、本エラーコードが格納される。<input type="hidden" name="MAX_FILE_SIZE" value="1000">
form
テストフォーム
アップロード後の処理
is_uploaded_file()
https://www.php.net/manual/ja/function.is-uploaded-file.php
move_uploaded_file()
https://www.php.net/manual/ja/function.move-uploaded-file.php
https://www.php.net/manual/ja/features.file-upload.post-method.php
if(is_uploaded_file($_FILES['sample_single']['tmp_name'])) { if(move_uploaded_file($_FILES['sample_single']['tmp_name'],"./image/".$_FILES['sample_single']['name'])){ error_log('uploaded success!'); }else{ error_log('uploaded fail!'); } }