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!');
}
}