PHP 文件上传:文件上传函数
is_uploaded_file
判断文件是否是通过 HTTP POST 上传的(PHP 4 >= 4.0.3, PHP 5, PHP 7)
is_uploaded_file( string $filename )。
- $filename:上传的文件的文件名。
- 成功时返回 TRUE, 失败时返回 FALSE。
如果 $filename 所给出的文件是通过 HTTP POST 上传的则返回 TRUE。这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件,例如 /etc/passwd
。这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。为了能使 is_uploaded_file() 函数正常工作,必段指定类似于 $_FILES['userfile']['tmp_name']
的变量,而在从客户端上传的文件名 $_FILES['userfile']['name']
不能正常运作。
move_uploaded_file
将上传的文件移动到新位置(PHP 4 >= 4.0.3, PHP 5, PHP 7)
move_uploaded_file ( string $filename , string $destination )。
- filename:上传的文件的文件名。
- destination:移动文件到这个位置。
- 成功时返回 TRUE。如果 filename 不是合法的上传文件,不会出现任何操作,并返回 FALSE。
- 如果 $filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,b并返回 FALSE。此外还会发出一条警告。
本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。