以下にファイルのアップロード処理の例を記載する。
【index.php】

<html>
<body>
<!-- ファイル送信の際は「enctype="multipart/form-data"」を指定する必要がある。-->
<form method="POST" action="testUpload.php" enctype="multipart/form-data">
<!-- ファイル参照ボタン -->
<input type="file" name="uploadFile"/>
<!-- アップロードボタン -->
<input type="submit" value="アップロード"/>
</form>
</body>
</html>
「ファイルを選択」ボタンで何かしらのファイルを選択して「アップロード」ボタンを押す。

【testUpload.php】

<html>
<body>
<?php
//ファイル名取得
$fileName = $_FILES['uploadFile']['name'];
//コンテンツタイプ取得
$fileType = $_FILES['uploadFile']['type'];
//サイズ取得
$fileSize = $_FILES['uploadFile']['size'];
//一時ファイル名取得
$fileTemp = $_FILES['uploadFile']['tmp_name'];
print "ファイル名は $fileName です。";
print "<br />";
print "ファイルのコンテンツタイプは $fileType です。";
print "<br />";
print "ファイルのサイズは $fileSize です。";
print "<br />";
print "一時ファイル名は $fileTemp です。";
print "<br />";
?>
</body>
</html>
PHPはファイルをサーバ側に転送すると、一時フォルダにファイルが作成される。
サーバ側でファイル操作をしたい場合はこの一時ファイルに対して操作をする。
例えば、以下の関数を使用すれば一時ファイルを任意のディレクトリに移動させることができる。
move_uploaded_file($filename, $destination)
$filename:一時ファイル名
$destination:保存先ディレクトリ
■アップロードの設定について
php.iniファイルでアップロードに関する設定ができる。
以下、php.iniから抜粋。
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads=On ※ファイルアップロードの可能/不可能を設定する。
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir="C:\~\xampp\tmp" ※アップロードファイルの一時ディレクトリを指定する。
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize=2M ※アップロードファイルの最大サイズを指定する。
; Maximum number of files that can be uploaded via a single request
max_file_uploads=20 ※アップロードファイルの最大数を指定する。
//TODO エラーハンドリングの記載をお願いします。
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09