php上传图片之时间戳命名(保存路径)


Posted in PHP onAugust 15, 2014

html代码:

<div id="images" style="width:250px;height:120px;background:#fff;border:1px solid #ccc;">  
  <h2><strong>图片导入</strong></h2> 
  <form enctype="multipart/form-data" action="./includer/importimg.inc.php?action=img" method="post" name="imge">      
  <input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
  <input value="导入文件" type="file" name="img" id="file"/><br/><br/>
  <input type="submit" id="imgbut" class="buttons" value="上传图片" />                                          
  </form> 
</div>

php代码:

<?php
/**
*Mwbe Version1.0
*-----------------------------------------------
*Copy 2013-2014 ylt
*Web: communicate
*-----------------------------------------------
*Author: tao *Data: 2014-7-22
*/
header("Content-Type:text/html;charset=utf-8");
//step 1 使用$_FILES['pic']["error"] 检查错误
if(isset($_GET["action"])=="img"){
if($_FILES["img"]["error"] > 0){
  switch($_FILES["img"]["error"]) {
  	case 1:
  	  echo "<script type='text/javascript'>alert('上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值<br>');history.back();</script>";
  	  break;
  	case 2:
  	  echo "<script type='text/javascript'>alert('上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值');history.back();</script>";
  	  break;
  	case 3:
  	  echo "<script type='text/javascript'>alert('文件只有部分被上传');history.back();</script>";
  	  break;
  	case 4:
  	  echo "<script type='text/javascript'>alert('没有文件被上传');history.back();</script>";
  	  break;
  	default:
  	  echo "<script type='text/javascript'>alert('末知错误');history.back();</script>";
  }
  exit;
}
$maxsize=2000000; //50k
//step 2 使用$_FILES["pic"]["size"] 限制大小 单位字节 2M=2000000
if($_FILES["img"]["size"] > $maxsize ) {
  echo "<script type='text/javascript'>alert('上传的文件太大,不能超过{$maxsize}字节');history.back();</script>";
  exit;
}
//step 3 使用$_FILES["pic"]["type"]或是文件的扩展名 限制类型 MIME image/gif image/png  gif png jpg
 /*  list($dl, $xl) = explode("/", $_FILES["pic"]["type"]);
 if($dl!="image"){
 echo "请上传一个图片,不充许其它类型文件";
 exit;
 }
 */
 $allowtype=array("png", "gif", "jpg", "jpeg");
 $arr=explode(".", $_FILES["img"]["name"]);
 $hz=$arr[count($arr)-1];
 if(!in_array($hz, $allowtype)){
 echo "<script type='text/javascript'>alert('这是不允许的类型');history.back();</script>";
		exit;
 }
 //step 4 将让传后的文件名改名
 $filepath="../imgweb/";
 $fileimgweb="imgweb/";//为了符合UBB的路径
	$randname=date("Y").date("m").date("d").date("H").date("i").date("s").rand(100, 999).".".$hz;
	  //将临时位置的文件移动到指定的目录上即可
	  if(is_uploaded_file($_FILES["img"]["tmp_name"])){
	    if(move_uploaded_file($_FILES["img"]["tmp_name"],$filepath.$randname)){
	      echo "<script type='text/javascript'>history.back();</script>";
	      session_start();
	      $_SESSION['images'] = $fileimgweb.$randname;
	      }else{
	      echo "<script type='text/javascript'>alert('上传失败');history.back();</script>";
	      }
	}else{
		echo"<script type='text/javascript'>alert('不是一个上传文件');history.back();</script>";
	}	
}
?>
PHP 相关文章推荐
PHP中实现进程间通讯
Oct 09 PHP
配置支持SSI
Nov 25 PHP
PHP EOT定界符的使用详解
Sep 30 PHP
PHP调用Linux的命令行执行文件压缩命令
Jan 27 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
php实现比较全的数据库操作类
Jun 18 PHP
php文件管理基本功能简单操作
Jan 16 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 #PHP
PHP反向代理类代码
Aug 15 #PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 #PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 #PHP
php获取apk包信息的方法
Aug 15 #PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 #PHP
PHP解码unicode编码的中文字符代码分享
Aug 13 #PHP
You might like
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
使用php实现截取指定长度
2013/08/06 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
Swift中的协议(protocol)学习教程
2016/07/08 Python
详解python分布式进程
2018/10/08 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
详解python的变量缓存机制
2021/01/24 Python
python压包的概念及实例详解
2021/02/17 Python
介绍下java.util.Arrays类
2012/10/16 面试题
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
亲属关系公证书
2014/04/08 职场文书
三年级学生评语
2014/04/23 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
毕业生入职感言
2015/07/31 职场文书