ファイルのアップロード
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]等にファイルの情報が格納されます。
[備考]
実際の使用例は、ここの「画像掲示板」スクリプトをご参照下さい。画像ファイルをアップロードして、それを指定のフォルダにコピーし、掲示板内に表示する方法が分かるはずです。
外部から来る変数 前へ
次へ HTTPクッキー