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'] 不能正常运作。
参数
filename
要检查的文件名。
返回值
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
范例
Example #1 is_uploaded_file() 例子
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.n";
echo "Displaying contentsn";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Possible file upload attack: ";
echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
}
?>
参见
move_uploaded_file() - 将上传的文件移动到新位置 $_FILES 关于用法的简单例子 文件上传处理