我们在php中上传文件就必须使用#_file变量了,这个自动全局变量 $_files 从 php 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,php 支持 $http_post_files 数组。这些数组将包含所有关于您上传的文件的信息,其中,我们推荐您使用 $_files。
如果 php 的设置选项 register_globals 为 on,则相关的变量名将也会存在。从 php 4.2.0 版本开始,register_globals 的默认值被设为 off。
我们假设文件上传字段的名称为 userfile。名称可随意命名。
$_files[‘userfile’][‘name’]
客户端机器文件的原名称。
$_files[‘userfile’][‘type’]
文件的 mime 类型,需要浏览器提供该信息的支持,例如“image/gif”。
$_files[‘userfile’][‘size’]
已上传文件的大小,单位为字节。
$_files[‘userfile’][‘tmp_name’]
文件被上传后在服务端储存的临时文件名。
$_files[‘userfile’][‘error’]
和该文件上传相关的错误代码。[‘error’] 是在 php 4.2.0 版本中增加的。
处理函数:
move_uploaded_file()
(php 4 >= 4.0.3, php 5)
move_uploaded_file — 将上传的文件移动到新位置
说明
bool move_uploaded_file ( string filename, string destination )
本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 php 的 http post 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。
如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。
如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false。此外还会发出一条警告。
如果目标文件已经存在,将会被覆盖。
示例:
代码如下