当前位置:首页 > PHP教程 > php上传下载 > 列表

php中实现图片文件上传程序代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-01 15:51:38 浏览: 评论:0 

在php中要实现文件或图片上传相比于其它的语言要方便的多,在php中只要利用move_uploaded_file函数就可以快速实现文件上传了.

up.html 简单的上传表单文件,代码如下:

  1. <form action="up.php" enctype="multipart/form-data" method="post" 
  2.      name="uploadfile">上传文件:<input type="file" name="upfile" /><br> 
  3.  <input type="submit" value="上传" /></form> 

up.php 用来处理图片文件上传的程序,代码如下:

  1. <?php 
  2.  //print_r($_FILES["upfile"]); 
  3.  if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ 
  4.      $upfile=$_FILES["upfile"]; 
  5.      //获取数组里面的值 
  6.      $name=$upfile["name"];//上传文件的文件名 
  7.      $type=$upfile["type"];//上传文件的类型 
  8.      $size=$upfile["size"];//上传文件的大小 
  9.      $tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径 
  10. /* 
  11. 这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。  
  12. 上传限制  
  13. 在这个脚本中,我们增加了对文件上传的限制。用户只能上传 .gif 或 .jpeg 文件 
  14. */ 
  15.      switch ($type){ 
  16.          case 'image/pjpeg':$okType=true; 
  17.          break
  18.          case 'image/jpeg':$okType=true; 
  19.          break
  20.          case 'image/gif':$okType=true; 
  21.          break
  22.          case 'image/png':$okType=true; 
  23.          break
  24.      } 
  25.  
  26.  
  27.      if($okType){ 
  28.          /** 
  29.           * 0:文件上传成功<br/> 
  30.           * 1:超过了文件大小,在php.ini文件中设置<br/> 
  31.           * 2:超过了文件的大小MAX_FILE_SIZE选项指定的值<br/> 
  32.           * 3:文件只有部分被上传<br/> 
  33.           * 4:没有文件被上传<br/> 
  34.           * 5:上传文件大小为0 
  35.           */ 
  36.          $error=$upfile["error"];//上传后系统返回的值 
  37.          echo "================<br/>"
  38.          echo "上传文件名称是:".$name."<br/>"
  39.          echo "上传文件类型是:".$type."<br/>"
  40.          echo "上传文件大小是:".$size."<br/>"
  41.          echo "上传后系统返回的值是:".$error."<br/>"
  42.          echo "上传文件的临时存放路径是:".$tmp_name."<br/>"
  43.  
  44.          echo "开始移动上传文件<br/>"
  45.          //把上传的临时文件移动到up目录下面 
  46.          move_uploaded_file($tmp_name,'up/'.$name); 
  47.          $destination="up/".$name
  48.          echo "================<br/>"
  49.          echo "上传信息:<br/>"
  50.          if($error==0){ 
  51.              echo "文件上传成功啦!"
  52.              echo "<br>图片预览:<br>"
  53.              echo "<img src=".$destination.">"
  54.              //echo " alt="图片预览:r文件名:".$destination."r上传时间:">"; 
  55.          }elseif ($error==1){ 
  56.              echo "超过了文件大小,在php.ini文件中设置"
  57.          }elseif ($error==2){ 
  58.              echo "超过了文件的大小MAX_FILE_SIZE选项指定的值"
  59.          }elseif ($error==3){ 
  60.              echo "文件只有部分被上传"
  61.          }elseif ($error==4){ 
  62.              echo "没有文件被上传"
  63.          }else
  64.              echo "上传文件大小为0"
  65.          } 
  66.      }else
  67.          echo "请上传jpg,gif,png等格式的图片!"
  68.      } 
  69.  } 
  70.  ?> 

总结分析:在php图片上传中我们主要是通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件.

第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像这样: 

$_FILES["file"]["name"] - 被上传文件的名称 

$_FILES["file"]["type"] - 被上传文件的类型 

$_FILES["file"]["size"] - 被上传文件的大小,以字节计 

$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称 

$_FILES["file"]["error"] - 由文件上传导致的错误代码

只要你了解了上面这些参数就可以完全的在php中实现文件上传了,因为上面我限制了,代码如下:

  1. switch ($type){ 
  2.          case 'image/pjpeg':$okType=true; 
  3.          break
  4.          case 'image/jpeg':$okType=true; 
  5.          break
  6.          case 'image/gif':$okType=true; 
  7.          break
  8.          case 'image/png':$okType=true; 
  9.          break
只能上传jpg,gif,png,jpeg四种格式的图片文件了,所以说这里是图片上传实现了.

Tags: php图片文件 上传程序

分享到: