一.html代码
body form action= method= post enctype= multipart/form-data name= upload_form label 选择图片文件 /label input name= imgfile type= file accept= image/gif, image/jpeg / input name= upload type= submit value= 上传 / /form /body
二.php代码
if (isset($_FILES[ imgfile ]) is_uploaded_file($_FILES[ imgfile ][ tmp_name ])) $imgFile = $_FILES[ imgfile $upErr = $imgFile[ error if ($upErr == 0)$imgType = $imgFile[ type //文件类型。/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/if ($imgType == image/jpeg || $imgType == image/gif )$imgFileName = $imgFile[ name $imgSize = $imgFile[ size $imgTmpFile = $imgFile[ tmp_name 将文件从临时文件夹移到上传文件夹中。注意:upfile这个文件夹必须先创建好,不然会报错。move_uploaded_file($imgTmpFile, upfile/ .$imgFileName);/*显示上传后的文件的信息。*/$strPrompt = sprintf( 文件%s上传成功 br . 文件大小: %s字节 br . img src= upfile/%s , $imgFileName, $imgSize, $imgFileNameecho $strPrompt;echo 请选择jpg或gif文件,不支持其它类型的文件。 echo 文件上传失败。 br switch ($upErr)case 1: echo 超过了php.ini中设置的上传文件大小。 break;case 2: echo 超过了MAX_FILE_SIZE选项指定的文件大小。 break;case 3: echo 文件只有部分被上传。 break;case 4: echo 文件未被上传。 break;case 5: echo 上传文件大小为0 break;}
三.php代码分析:
$_FILES是一个数组变量,用于保存上传后的文件信息。
$_FILES[ imgfile ]表示文件域名称为 imgfile 的控件提交服务器后,上传的文件的信息。
一个上传的文件,有以下属性信息:
name : 上传的文件在客户端的名称。
type : 文件的 MIME 类型,例如 image/jpeg 。
size : 已上传文件的大小,单位为字节。
tmp_name :上传时,在服务器端,会把上传的文件保存到一个临时文件夹中,可以通过此属性得到临时文件名。
error :文件在上传过程中的错误代码。如果上传成功,此值为0,其它值的意义如下:
1:超过了php.ini中设置的上传文件大小。
2:超过了MAX_FILE_SIZE选项指定的文件大小。
3:文件只有部分被上传。
4:文件未被上传。
5:上传文件大小为0。
代码中首先判断$_FILES[ imgfile ]变量是否存在,如果存在,并且$_FILES[ imgfile ][ tmp_name ]变量所指文件被上传了,判断error属性,如果属性为0,把上传后的图像从临时文件夹移到upfile文件夹中,显示上传文件的信息,并显示上传后的图像。
如果error值不为0,表示上传失败,显示失败信息。
四.完整代码
!DOCTYPE html html head meta http-equiv= Content-Type content= text/html; charset=utf-8 / title 上传图片文件 /title /head ?phpif (isset($_FILES[ imgfile ]) is_uploaded_file($_FILES[ imgfile ][ tmp_name ])) $imgFile = $_FILES[ imgfile $upErr = $imgFile[ error if ($upErr == 0)$imgType = $imgFile[ type //文件类型。/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/if ($imgType == image/jpeg || $imgType == image/gif )$imgFileName = $imgFile[ name $imgSize = $imgFile[ size $imgTmpFile = $imgFile[ tmp_name /* 将文件从临时文件夹移到上传文件夹中。*/move_uploaded_file($imgTmpFile, upfile/ .$imgFileName);/*显示上传后的文件的信息。*/$strPrompt = sprintf( 文件%s上传成功 br . 文件大小: %s字节 br . img src= upfile/%s , $imgFileName, $imgSize, $imgFileNameecho $strPrompt;echo 请选择jpg或gif文件,不支持其它类型的文件。 echo 文件上传失败。 br switch ($upErr)case 1: echo 超过了php.ini中设置的上传文件大小。 break;case 2: echo 超过了MAX_FILE_SIZE选项指定的文件大小。 break;case 3: echo 文件只有部分被上传。 break;case 4: echo 文件未被上传。 break;case 5: echo 上传文件大小为0 break;/*显示表单。*/ body form action= method= post enctype= multipart/form-data name= upload_form label 选择图片文件 /label input name= imgfile type= file accept= image/gif, image/jpeg / input name= upload type= submit value= 上传 / /form /body ?php /html
相关文章推荐:
php类型约束是什么?php类型约束简介和用法
php中删除数组一个元素和从数组中删除多个元素的方法总结(附代码)
以上就是php和html结合实现上传图片文件到服务器的代码的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答