ファイルのアップロード

 PHPでは、次のようなフォームを作成する事により、WebクライアントにあるファイルをWebサーバにアップロードする事ができます。hiddenフィールドのMAX_FILE_SIZEは、inputフィールドfileの前に置かなくてはいけません。この値は、アップロード可能なファイルの最大サイズ(バイト数で指定)を規定します。

*ENCTYPEが"multipart/form-data"になっている点に注意して下さい。

<FORM ENCTYPE="multipart/form-data" ACTION="***.php" METHOD="POST">
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="1000">
送信ファイル: <INPUT NAME="userfile"TYPE="file">
<INPUT TYPE="submit" VALUE="送信">
</FORM>

↓実際の画面

 ここで指定できるサイズの上限は、php.iniのupload_max_filesizeで指定されている値が上限になります。デフォルトで2Mバイトになっています。これよりも大きなファイルをアップロードしたい場合は、php.iniのupload_max_filesizeの値を増やして、MAX_FILE_SIZEの値も増やせば可能になります。アップロードされたファイルの情報は、以下の表のようになります。

情報

内容

変数名 サーバマシンにアップロードされたファイルが保存されているテンポラリファイル名です。
変数名_name 送信元のシステムにおける元のファイルの名前又はパス。
変数名_size アップロードされたファイルのサイズ(バイト数)。
変数名_type ファイルのMIME型。ただし、ブラウザがこの情報を提供した場合のみ。例えば、"image/gif"。

上で示したスクリプトでは、変数名が"userfile"になっています。

 複数のファイルをアップロードする場合は、変数名$userfileを配列$userfile[ ]にします。このようにすると、受け取り側では$userfile[0]等にファイルの情報が格納されます。

[備考]

 実際の使用例は、ここの「画像掲示板」スクリプトをご参照下さい。画像ファイルをアップロードして、それを指定のフォルダにコピーし、掲示板内に表示する方法が分かるはずです。

外部から来る変数 前へ

HOME

次へ HTTPクッキー