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连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
Jul 01 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
php+mysql数据库实现无限分类的方法
Dec 12 PHP
使用xampp搭建运行php虚拟主机的详细步骤
Oct 21 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
May 16 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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
PHP中for循环语句的几种变型
2007/03/16 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
如何使用Strace调试工具
2013/06/03 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
详解vue组件基础
2018/05/04 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python中遍历文件的3个方法
2014/09/02 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
活动倡议书范文
2014/05/13 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android