Php/docs/function.is-uploaded-file

提供:Dev Guides
< Php
移動先:案内検索

is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

is_uploaded_fileHTTP POST でアップロードされたファイルかどうかを調べる


説明

is_uploaded_file ( string $filename ) : bool

filename という名前のファイルが HTTP POST によりアップロードされたものである場合に true を返します。 悪意のあるユーザーがスクリプトをだまして、 本来見られてはいけないはずのファイル (/etc/passwd など) にアクセスすることを防止したい場合に、この関数は有用です。

この種の確認は、アップロードされたファイルに関して何でもできる場合には、 その内容をユーザー、または同じシステム上の他のユーザーにさえ 暴かれる可能性があるため、特に重要です。

適切に動作させるため、関数 is_uploaded_file()$_FILES['userfile']['tmp_name'] のような引数を必要とします。 アップロードされたファイルのクライアントマシン上での名前 $_FILES['userfile']['name'] では動作しません。


パラメータ

filename
調べたいファイル名。


返り値

成功した場合に true を、失敗した場合に false を返します。


例1 is_uploaded_file() の例

<?phpif (is_uploaded_file($_FILES['userfile']['tmp_name'])) {   echo "ファイル ". $_FILES['userfile']['name'] ." のアップロードに成功しました。\n";   echo "その中身を表示します\n";   readfile($_FILES['userfile']['tmp_name']);} else {   echo "おそらく何らかの攻撃を受けました。";   echo "ファイル名 '". $_FILES['userfile']['tmp_name'] . "'.";}?>

参考