is_uploaded_file 判断文件是否是通过 HTTP POST 上传的

发表日期:2021-07-01 08:55:44 | 来源: | | 浏览(589) 分类:文件系统函数

is_uploaded_file

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

is_uploaded_file判断文件是否是通过 HTTP 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() 例子

<?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'] . "'.";
}
?>

参见

  • move_uploaded_file() - 将上传的文件移动到新位置
  • $_FILES
  • 关于用法的简单例子 文件上传处理

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。