php上传图片学习笔记与心得

我们在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。此外还会发出一条警告。

如果目标文件已经存在,将会被覆盖。

示例:

代码如下

Posted in 未分类