[导读] 本文章来简单的介绍一下在php中文件图片上传时的一个$_FILES重要的全局变量
的种个参数,有需要了解的朋友可以参考一下下哈。文件上传表单的处理 代码如下复制代码
本文章来简单的介绍一下在php中文件图片上传时的一个$_FILES重要的全局变量
的种个参数,有需要了解的朋友可以参考一下下哈。
文件上传
表单的处理
代码如下
复制代码
我们来看看files的变量的用法
$_FILES超级全局变量很特殊,他是预定义超级全局数组中唯一的二维数组。其作用是存储各种与上传文件有关的信息,这些信息对于通过PHP脚本上传到服务器的文件至关重要。此函数中总共有5项:1.$_FILES["userfile"]["error"]$_FILES["userfile"]["error"]数组值提供了与上传尝试结果有关的重要信息。总共有5个不同的返回值,其中一个表示成功的结果,另外4个表示在尝试中出现的特殊错误。灭个返回值的名字和将在后面介绍。2.$_FILES["userfile"]["name"]$_FILES["userfile"]["name"]变量指定客户端机器上声明的文件最初的名字,包括扩展名。因此,如果浏览器一个名为vacation.jpg的文件,并通过表单上传,则此变量的值将是vacation.png。3.$_FILES["userfile"]["size"]$_FILES["userfile"]["size"]变量指定从客户端上传的文件的大小,以字节为单位。因此,在vacation.jpg文件的例子中,此函数可能赋值为5253,大约为5kb.4.
$_FILES["userfile"]["tmp_name"]$_FILES["userfile"]["tmp_name"]变量指定上传到服务器后为文件赋予的临时名。这是存储在临时目录(由PHP指令upload_tmp_dir指定)中时所指定的文件名。5.
$_FILES["userfile"]["type"]$_FILES["userfile"]["type"]变量指定从客户端上传的文件的mime类型。因此,在vacation.jpg文件的例子中,此变量会赋值为image/jpeg。如果上传的是PDF,则赋值为application/pdf。因为这个变量有时会得到意外的结果,所以应当在脚本中显示地进行验证。
$_FILES['myFile']['error']
和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0
版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)UPLOAD_ERR_OK值:0;
没有错误发生,文件上传成功。UPLOAD_ERR_INI_SIZE值:1; 上传的文件超过了 php.ini 中
upload_max_filesize 选项限制的值。UPLOAD_ERR_FORM_SIZE值:2; 上传文件的大小超过了 HTML
表单中 MAX_FILE_SIZE 选项指定的值。UPLOAD_ERR_PARTIAL值:3;
文件只有部分被上传。UPLOAD_ERR_NO_FILE值:4; 没有文件被上传。值:5; 上传文件大小为0.
好了下面我们来看个完整的实例
enctype="multipart/form-data">
filename:
代码如下
复制代码
php代码
if ((($_files["file"]["type"] == "image/gif")||
($_files["file"]["type"] == "image/jpeg")||
($_files["file"]["type"] ==
"image/pjpeg"))&&
($_files["file"]["size"] < 20000))
{ if ($_files["file"]["error"] >
0)
{ echo
"error: " . $_files["file"]["error"] .
"";
}
else
{ echo
"upload: " . $_files["file"]["name"] .
""; echo
"type: " . $_files["file"]["type"] .
""; echo
"size: " . ($_files["file"]["size"] / 1024) . "
kb"; echo
"stored in: " .
$_files["file"]["tmp_name"];
} }else {
echo "invalid file"; }
?>
对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。
节选自
http://www.php100.com/html/php/hanshu/2013/0905/4666.html