is_uploaded_fileとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > is_uploaded_fileの意味・解説 

is_uploaded_file

(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'] では動作しません。
例 620. 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の内部処理が変更されたためです。

例 621. 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()お よびファイルアップロードの処 理の節も参照ください。



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「is_uploaded_file」の関連用語

is_uploaded_fileのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



is_uploaded_fileのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2025 by the PHP Documentation Group.

©2025 GRAS Group, Inc.RSS