テキストファイルのアップロードを行うため、いくつか準備を行います。まずは、ファイル送信フォームを作成します。
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>送信ファイル</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data" action="reception.php">
<p>送信ファイル:<input type="file" name="userfile" size="40"> <input type="submit" value="送信" name="up"></p>
</form>
</body>
</html>
上記のフォームは、HTMLで作成されたページです。今回はファイルを送信するために、各属性を以下の通りに指定しました。
注)POST、GETについては、「フォームへの埋め込み」の「データの渡し方を指定する」で説明します。
前章のaction属性で指定した「reception.php」ファイルを作成します。
<?php
if( !is_uploaded_file( $_FILES[ 'userfile' ][ 'tmp_name' ] ) ) {
echo "ファイルを保存できませんでした!";
exit;
} else {
copy( $_FILES[ 'userfile' ][ 'tmp_name' ], "c:¥template¥upload.txt" );
}
?>
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>アップロードファイルの保存</title>
</head>
<body>
<table border="1" width="300">
<tr>
<td width="150" align="right">ファイル名:</td>
<td width="150"><? echo $_FILES['userfile']['name']; ?></td>
</tr>
<tr>
<td width="150" align="right">ファイルサイズ:</td>
<td width="150"><? echo $_FILES['userfile']['size']; ?></td>
</tr>
<tr>
<td width="150" align="right">MIMEタイプ:</td>
<td width="150"><? echo $_FILES['userfile']['type']; ?></td>
</tr>
</table>
</body>
</html>
今回は、受信したデータを「upload.txt」というテキストファイルに保存して、先に作成したローカルディスク(C:)直下のtemplateディレクトリに配置します。
ファイル送信フォームから送信されたファイルは、マシン(サーバを利用する場合はサーバ)の一時ディレクトリに保存されます。ただし、この一時ファイルはスクリプトの実行終了後に自動的に削除されます。
実際にテキストファイルのアップロードを行ってみます。


確認メッセージには、受信ファイルの「ファイル名」、「サイズ」、「注)MIMEタイプ」を表示しています。これらの値は変数を指定するだけで取得できます。
| 取得値 | 変数名 |
|---|---|
| ファイル名 | $textfile_name |
| サイズ | $textfile_size |
| MIMEタイプ | $textfile_type |
| ファイル形式 | 一般的な拡張子 | MIMEタイプ |
|---|---|---|
| テキスト | .txt | text/plain |
| HTML文書 | .htm .html | text/html |
| XML文書 | .xml | text/xml |
| JavaScript | .js | text/javascript |
| CSS | .css | text/css |
| GIF画像 | .gif | image/gif |
| JPEG画像 | .jpg .jpeg | image/jpeg |
| Word文書 | .doc | application/msword |
| PDF文書 | application/pdf |