PHP is_uploaded_file 文件系统函数

  • 定义和用法

    is_uploaded_file - 判断文件是否是通过 HTTP POST 上传的
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    is_uploaded_file ( string $filename )   
    
    如果 filename 所给出的文件是通过 HTTP POST 上传的则返回 TRUE。这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件,例如 /etc/passwd。这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。 为了能使 is_uploaded_file() 函数正常工作,必段指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的文件名 $_FILES['userfile']['name'] 不能正常运作。
  • 参数

    参数 必需的 描述
    filename 要检查的文件名。
  • 返回值

    成功时返回 TRUE, 或者在失败时返回 FALSE。
  • 示例

    <?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() - 将上传的文件移动到新位置