KANTENNA.COM

Solarized

HOME > WEBプログラム覚書 > ファイルのアップロード

ファイルのアップロード

POST メソッドによりアップロードされたファイルを扱うには$_FILESを利用する

$_FILES変数の要素

$_FILES['file']['name']
クライアントマシンの元のファイル名。
$_FILES['file']['type']
ファイルのMIME型。ただし、ブラウザがこの情報を提供する場合。 例えば、"image/gif"のようになります。
$_FILES['file']['size']
アップロードされたファイルのバイト単位のサイズ。
$_FILES['file']['tmp_name']
アップロードされたファイルがサーバー上で保存されているテンポラリファイルの名前。
$_FILES['file']['error']
ファイルアップロードに関する エラーコード

エラーコード

UPLOAD_ERR_OK
値: 0; エラーはなく、ファイルアップロードは成功しています。
UPLOAD_ERR_INI_SIZE
値: 1; アップロードされたファイルは、php.ini の upload_max_filesize ディレクティブの値を超えています。
UPLOAD_ERR_FORM_SIZE
値: 2; アップロードされたファイルは、HTMLフォームで指定された MAX_FILE_SIZE を超えています。
UPLOAD_ERR_PARTIAL
値: 3; アップロードされたファイルは一部のみしかアップロードされていません
UPLOAD_ERR_NO_FILE
値: 4; ファイルはアップロードされませんでした

サンプル

HTML
  1.  <form action="<?= $_SERVER[PHP_SELF]; ?>" method="post" enctype="multipart/form-data">
  2.   <!-- アップロードファイルのMAXサイズをバイトで指定 -->
  3.   <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  4.   <input type="file" name="file" />
  5.   <input type="submit" name="submit" />
  6.  </form>
  7.  
  8.  <br />
  9.  
  10.  <ul>
  11.   <li>$_FILES["file"]["name"] : <?= $_FILES["file"]["name"]; ?></li>
  12.   <li>$_FILES["file"]["type"] : <?= $_FILES["file"]["type"]; ?></li>
  13.   <li>$_FILES["file"]["size"] : <?= $_FILES["file"]["size"]; ?></li>
  14.   <li>$_FILES["file"]["tmp_name"] : <?= $_FILES["file"]["tmp_name"]; ?></li>
  15.   <li>$_FILES["file"]["error"] : <?= $_FILES["file"]["error"]; ?></li>
  16.  </ul>

test.txtをアップロードした場合

  • $_FILES['file']['name'] : test.txt
  • $_FILES['file']['type'] : text/plain
  • $_FILES['file']['size'] : 41
  • $_FILES['file']['tmp_name'] : C:\Program Files\xampp\tmp\php7DD.tmp
  • $_FILES['file']['error'] : 0

トラックバック(0)

コメント

コメントする
Name
Email Address
URL
TIME LINE
2012
02.03

[jQuery]closest()とparents()

今から16年前Netscapeブラウザのソースコードの公開方法の会議の中で、初めてオープンソースという言葉が使われた今日、 みなさんいかがお過ごしでしょうか。

今回の投稿はそれとは関係のないjQueryのparents()とclosest()が 似てたので何が違うのか試した時のメモです。

2012
02.01

[jQuery Mobile]初期化イベントメモ

jQuery Mobileは読み込まれてから

mobileinit -> pagebeforecreate -> pagecreate -> pageinit

の順番でイベントが発生する。

2012
02.01

[WordPress]管理画面のフッタのフィルタとアクション。

時間も時間なので、あまり使用頻度の高くない微妙なネタを。

会員制サイトなどで不特定多数の人にログインさせる場合、フッタのバージョン情報は隠しておきたかったり、 こじゃれたメッセージを表示したいときとか使うアクションとフィルタ。

2012
01.28

[WordPress] ブログの情報を取得する方法とノーキャッシュ疑惑

ブログのget_bloginfo()で取れないデータが必要な場合に使うもの。

2012
01.26

[jQuery Mobile]ダイアログ

jQuery Mobileにおけるダイアログの扱いはウインドウではなくページ。 なので通常のページと同様に扱える。ダイアログウインドウを出す。じゃなくダイアログページに遷移する。的な。

2012
01.25

[Ubuntu11.10]Ubuntuのインストール後の設定

インストール完了後の環境構築。PC起動時いちいちBIOSからブートドライブ選んで ブートするのかと思ってたら起動時にOS選択画面が出てくる。

すばらしいですね。

2012
01.24
2012
01.23

MinGW+Mintty+Git

MinGW+Mintty+Gitをやろうとして失敗に終わった。このエントリーには収穫できるものはありません。

2012
01.21

[PHP]共有サーバーユーザーのためのPEARインストール方法

共有サーバーでは自由にPEARのパッケージがインストールできないので、 プロジェクトローカルに設置することになりますが、以前httpベースのものを使ってみたんですけど、 やたら重くて使い物にならなかったので、僕は普通にFTPでアップするようにしてます。

ってことでプロジェクトローカルへのPEARのインストール方法。