zoukankan      html  css  js  c++  java
  • html+php上传图片文件到服务器


    html+php上传图片文件到服务器

    一.html代码

    1 <body>
    2 <form action="" method="post" enctype="multipart/form-data" name="upload_form">
    3  <label>选择图片文件</label>
    4  <input name="imgfile" type="file" accept="image/gif, image/jpeg"/>
    5   <input name="upload" type="submit" value="上传" />
    6 </form>
    7 </body>

    二.php代码

     1 if (isset($_FILES['imgfile']) 
     2 && is_uploaded_file($_FILES['imgfile']['tmp_name']))
     3 {
     4  $imgFile = $_FILES['imgfile'];
     5 $upErr = $imgFile['error'];
     6 if ($upErr == 0)
     7 {
     8 $imgType = $imgFile['type']; //文件类型。
     9 /* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/
    10 if ($imgType == 'image/jpeg'
    11 || $imgType == 'image/gif')
    12 {
    13 $imgFileName = $imgFile['name'];
    14 $imgSize = $imgFile['size'];
    15 $imgTmpFile = $imgFile['tmp_name'];
    16 /*
    17  将文件从临时文件夹移到上传文件夹中。
    18 注意:upfile这个文件夹必须先创建好,不然会报错。
    19 */
    20 move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName);
    21 /*显示上传后的文件的信息。*/
    22 $strPrompt = sprintf("文件%s上传成功<br>"
    23 . "文件大小: %s字节<br>"
    24 . "<img src='upfile/%s'>"
    25 , $imgFileName, $imgSize, $imgFileName
    26 );
    27 echo $strPrompt;
    28 }
    29 else
    30 {
    31 echo "请选择jpg或gif文件,不支持其它类型的文件。";
    32 }
    33 }
    34 else
    35 {
    36 echo "文件上传失败。<br>";
    37 switch ($upErr)
    38 {
    39 case 1:
    40  echo "超过了php.ini中设置的上传文件大小。";
    41 break;
    42 case 2:
    43  echo "超过了MAX_FILE_SIZE选项指定的文件大小。";
    44 break;
    45 case 3:
    46  echo "文件只有部分被上传。";
    47 break;
    48 case 4:
    49  echo "文件未被上传。";
    50 break;
    51 case 5:
    52  echo "上传文件大小为0";
    53 break;
    54 }
    55 }
    56 }
    57 else
    58 {
    59 }

    三.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,表示上传失败,显示失败信息。

    四.完整代码

     1 <!DOCTYPE html >
     2 <html lang="en">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>上传图片文件</title>
     6 </head>
     7 <?php
     8 if (isset($_FILES['imgfile']) 
     9 && is_uploaded_file($_FILES['imgfile']['tmp_name']))
    10 {
    11  $imgFile = $_FILES['imgfile'];
    12 $upErr = $imgFile['error'];
    13 if ($upErr == 0)
    14 {
    15 $imgType = $imgFile['type']; //文件类型。
    16 /* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/
    17 if ($imgType == 'image/jpeg'
    18 || $imgType == 'image/gif')
    19 {
    20 $imgFileName = $imgFile['name'];
    21 $imgSize = $imgFile['size'];
    22 $imgTmpFile = $imgFile['tmp_name'];
    23 /* 将文件从临时文件夹移到上传文件夹中。*/
    24 move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName);
    25 /*显示上传后的文件的信息。*/
    26 $strPrompt = sprintf("文件%s上传成功<br>"
    27 . "文件大小: %s字节<br>"
    28 . "<img src='upfile/%s'>"
    29 , $imgFileName, $imgSize, $imgFileName
    30 );
    31 echo $strPrompt;
    32 }
    33 else
    34 {
    35 echo "请选择jpg或gif文件,不支持其它类型的文件。";
    36 }
    37 }
    38 else
    39 {
    40 echo "文件上传失败。<br>";
    41 switch ($upErr)
    42 {
    43 case 1:
    44  echo "超过了php.ini中设置的上传文件大小。";
    45 break;
    46 case 2:
    47  echo "超过了MAX_FILE_SIZE选项指定的文件大小。";
    48 break;
    49 case 3:
    50  echo "文件只有部分被上传。";
    51 break;
    52 case 4:
    53  echo "文件未被上传。";
    54 break;
    55 case 5:
    56  echo "上传文件大小为0";
    57 break;
    58 }
    59 }
    60 }
    61 else
    62 {
    63 /*显示表单。*/
    64 ?>
    65 <body>
    66 <form action="" method="post" enctype="multipart/form-data" name="upload_form">
    67  <label>选择图片文件</label>
    68  <input name="imgfile" type="file" accept="image/gif, image/jpeg"/>
    69   <input name="upload" type="submit" value="上传" />
    70 </form>
    71 </body>
    72 <?php
    73 }
    74 ?>
    75 </html>

    记录时间:2018年8月8日19:55:27

  • 相关阅读:
    正则表达式的点星匹配
    好玩Python——PIL项目实训(四)
    mysql中正则表达式使用学习记录
    linux下每个目录文件的作用
    彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑
    获取APP包名和ACtivity名的方法
    mysql 中 王数据表中插入中文字段报错:mysql> insert into a values(202,"王一"); ERROR 1366 (HY000): Incorrect string value: 'xE7x8Ex8BxE4xB8x80' for column 'tname' at row 1
    linux系统下安装mysql
    测试人员初步分析BUG原因--转载
    PC端通过ADB命令 无线向 andriod端发送文件
  • 原文地址:https://www.cnblogs.com/lygz/p/9445314.html
Copyright © 2011-2022 走看看