is_uploaded_file
    (PHP 3 >= 3.0.17, PHP 4 >= 4.0.3, PHP 5)
is_uploaded_file -- 
     HTTP POSTによりアップロードされたファイルかどうかを調べる
    
説明
bool 
is_uploaded_file ( string filename )
     filenameという名前のファイルがHTTP POSTにより
     アップロードされた場合にTRUEを返します。この関数は、悪意のあるユー
     ザーがスクリプトをだまして動作しなくなるようなファイル、例えば、
     /etc/passwd を指定することを防止したい場合に
     有用です。
    
     この種の確認は、アップロードされたファイルに関して何でもできる場
     合には、その内容をユーザ、または同じシステム上の他のユーザにさえ
     暴かれる可能性があるため、特に重要です。
    
     適切に動作させるため、関数 is_uploaded_file()
     は $_FILES['userfile']['tmp_name'] のような引数を必要とします。
     アップロードされたファイルのクライアントマシン上での名前
     $_FILES['userfile']['name'] では動作しません。
    
例 1. is_uploaded_file() の例 
<?php
  if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {    echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n";    echo "Displaying contents\n";    readfile($_FILES['userfile']['tmp_name']); } else {    echo "Possible file upload attack: ";    echo "filename '". $_FILES['userfile']['tmp_name'] . "'."; }
  ?>
 |  
  | 
     is_uploaded_file()は、
     PHP 3.0.16 より後のバージョンの PHP 3 および 4.0.2 以
     降のバージョンの PHP 4 でのみ利用可能です。
     古いバージョンを使っていてつまづいている場合は、
     自分自身を守るために後述の関数を使用することができます。
     
注意: 
       以下のサンプルはPHP4.0.2以降のPHP4では動きません
       これはこのバージョン以降でPHPの内部処理が変更されたためです。
      
 
    例 2. PHP 4 < 4.0.3 における is_uploaded_file()
      の例 
<?php /* アップロードされたファイルのテスト */ function is_uploaded_file_4_0_2($filename)  {     if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {         $tmp_file = dirname(tempnam('', ''));     }     $tmp_file .= '/' . basename($filename);     /* ユーザーは php.ini で最後にスラッシュを付けているかも知れない... */     return (ereg_replace('/+', '/', $tmp_file) == $filename); }
  /* 以下はこの関数の使用方法。これら古いバージョンには  * move_uploaded_file() もない。 */ if (is_uploaded_file_4_0_2($HTTP_POST_FILES['userfile'])) {     copy($HTTP_POST_FILES['userfile'], "/place/to/put/uploaded/file"); } else {     echo "Possible file upload attack: filename '$HTTP_POST_FILES[userfile]'."; } ?>
 |  
  | 
     簡単な使用例に関しては、move_uploaded_file()お
     よびファイルアップロードの処
     理の節も参照ください。