用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

PHP上传图片程序代码工作笔记

时间:2015-01-23  来源:西部数据  作者:西部数据

$_FILES与move_uploaded_file就可以在php代码中实现文件或图片上传了,这个比起很多编程语言来讲php上传功能是最简单最好用的了,下面来看个上传图片工作代码,代码如下:

  1. <?php 
  2.  session_start(); 
  3.  ?> 
  4.  <html xmlns="http://www.phpfensi.com/ 1999/xhtml"
  5.  <head> 
  6.  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  7.  <title>PHP上传文件</title> 
  8.  <style> 
  9.  * {margin:0; padding:0; list-style:none;} 
  10.  .content {width:400px; height:200px; margin:0 auto; margin-top:60px; 
  11. background:#ffd3b6; border:dashed 1px #f90} 
  12.  .content h1 { width:400px; height: 30px; line-height:30px; text-align: 
  13. center; font-family:"微软雅黑"; font-size:14px; color:#000} 
  14.  .content .error {width:300px; height:30px; line-height:30px; 
  15. text-align:center; margin:0 auto; color:#f00} 
  16.  .content .con {width:340px; height:auto; margin:0 auto; font-size:12px;} 
  17.  .content #file { width:280px; height:20px; border:solid 1px #ccc; 
  18. background:#fff; margin:10px 0px 6px 0; font-size:12px;} 
  19.  .content #send { width:60px; height:22px; border:solid 1px #ccc; 
  20. background:#fff; font-size:12px; margin-top:10px;} 
  21.  </style> 
  22.  </head> 
  23. <body> 
  24.  <div> 
  25.  <h1>文件上传</h1> 
  26.  <div> 
  27.  <div> 
  28.  <?php 
  29.  if ($_GET['up']==up) { 
  30.  if ($_SESSION['file']==$_GET['irand']) { 
  31.  $_size=20000;                    //设置限制文件大小 
  32.  $_dir='phone/';                   //文件保存目录 
  33.  function size($_size) { 
  34.  //判断文件大小是否大于1024bit 如果大于,则将大小取值为KB 
  35.  if ($_size>1024*1024) { 
  36.  return round($_size/1024/1024,2).' MB'
  37.  }else if ($_size>1024) { 
  38.  $_size=$_size/1024; 
  39.  return ceil($_size).'KB'
  40.  }else { 
  41.  return $_size.' bit'
  42.  } 
  43.  } 
  44.  //设置上传图片的类型,设置图片上传大小 
  45.  $_upfiles = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif'); 
  46.  if (is_array($_upfiles)) { 
  47.  if (!in_array($_FILES['userfile']['type'],$_upfiles)) { 
  48.  exit('请上传格式为:jpg,png,gif的文件<br /><a href="upload.php">返回</a>'); 
  49.  } 
  50.  } 
  51.  if ($_FILES['userfile']['size']>$_size) { 
  52.  exit('上传文件不能超过:'.size($_size)); 
  53.  } 
  54.  if ($_FILES['userfile']['error']>0) { 
  55.  switch ($_FILES['userfile']['error']) { 
  56.  case 1: echo '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值'
  57.  break
  58.  case 2: echo '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值'
  59.  break
  60.  case 3: echo '文件只有部分被上传'
  61.  break
  62.  case 4: echo '没有文件被上传'
  63.  break
  64.  case 6: echo '找不到临时文件夹'
  65.  break
  66.  case 7: echo '文件写入失败'
  67.  break
  68.  } 
  69.  exit
  70.  } 
  71.  //获取文件扩展名 
  72.  if (!is_dir($_dir)) { 
  73.  mkdir($_dir,0700); 
  74.  } 
  75.  $_rand=mt_rand(0,100000); 
  76.  $_n=explode('.',$_FILES['userfile']['name']);  //将文件名分割 
  77.  $_file_len=count($_n);         //返回数组长度 
  78.  $_name=$_dir.time().'_'.$_rand.'.'.$_n[$_file_len-1]; 
  79. if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { 
  80.  if (!@move_uploaded_file($_FILES['userfile']['tmp_name'],$_name)) { 
  81.  exit('文件移动失败'); 
  82.  }else { 
  83.  echo '文件上传成功<br />'
  84.  echo '文件路径:'.$_name.'<br />'
  85.  echo '文件大小:'.size(filesize($_name)); 
  86.  echo '<br /><a href="upload.php">返回继续上传</a>'
  87.  } 
  88.  }else { 
  89.  exit('上传的临时文件不存在,无法将文件移动到指定文件夹'); 
  90.  } 
  91.  //销毁session变量,有几种方法 
  92.  //第一种,销毁所有session变量:session_destroy(); 
  93.  //第二种:销毁单个如:$_SESSION['file']='' 
  94.  session_destroy(); 
  95.  exit
  96.  }else { 
  97.  exit('您已经提交过了,不能重复提交<br /><a href="upload.php">返回</a>'); 
  98.  } 
  99.  } 
  100.  ?> 
  101.  </div> 
  102.  <?php $_irand=mt_rand(0,1000000); $_SESSION['file']=$_irand; ?> 
  103.  <form action="?up=up&irand=<?php echo $_irand; ?>" method="post" enctype="multipart/form-data"
  104.  <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> 
  105.  <input type="file" name="userfile" id="file"/><br /> 
  106.  <input type="submit" name="send" value=" 点击上传 " id="send"/> 
  107.  </form> 
  108.  </div> 
  109.  </div> 
  110.  </body> 
  111.  </html> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门