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 相关文章推荐
PHP5 面向对象程序设计
Feb 13 PHP
用php制作简单分页(从数据库读取记录)的方法详解
May 04 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
ThinkPHP3.1查询语言详解
Jun 19 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
laravel返回统一格式错误码问题
Nov 04 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加密解密的代码
2006/10/09 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php生成略缩图代码
2012/07/16 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
轮播图组件js代码
2016/08/08 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
flask开启多线程的具体方法
2020/08/02 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
英国香水店:The Perfume Shop
2017/03/27 全球购物
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
入党自我鉴定范文
2013/10/04 职场文书
酒店副总岗位职责
2013/12/24 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
会计实训报告范文
2014/11/04 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript