PHPコーディング

ブラウザからWebサーバーへファイルをアップロード

2008年09月02日
以前、Web系の会社にいたときやっていたのですが、どうやっていたのか全く思い出せず、ネットをあれこれ調べてみました。嫌ってほど見ていたのに・・・ 人間の記憶ってこんなもん?

アップロードそのものは、思っていたより簡単でした。


まずはフォームからULする準備です。
<form method="post" action="処理を行うURL" enctype="multipart/form-data" name="frmInfo">
 <input type="file" name="file" size="50">
 <input type="submit" value="アップロード">
</form>


ローカルのファイルを指定するボックスとディレクトリを指定するボタンが表示されます。ファイルのパスを入力して、【アップロード】ボタンをクリック。


次に、【処理を行うURL】では、ファイルの情報を受け取って処理します。

PHPでは、$_FILESにアップロードファイルの情報が格納されています。

$_FILES['file']['name']  :  ローカルのファイル名
$_FILES['file']['tmp_name']  :  サーバーにアップロードされたテンポラリファイル
$_FILES['file']['error']  :  エラー情報(0はエラーなし)
$_FILES['file']['type']  :  ファイルタイプ
$_FILES['file']['size']  :  ファイルサイズ

サーバーには【$_FILES['file']['tmp_name']】にすでにULされているので、【move_uploaded_file】関数でこれを本来ULしたいディレクトリに移動してやります。

move_uploaded_file($_FILES['file']['tmp_name'], "移動先");