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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
PHP+DBM的同学录程序(2)
Oct 09 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
php curl_init函数用法
Jan 31 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
Yii获取当前url和域名的方法
Jun 08 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 PHP
PHP观察者模式原理与简单实现方法示例
Aug 25 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 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
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
Python编写百度贴吧的简单爬虫
2015/04/02 Python
简单实现python爬虫功能
2015/12/31 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
几个Linux面试题笔试题
2012/12/01 面试题
班组长工作职责
2013/12/25 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
计划生育汇报材料
2014/12/26 职场文书
乐山大佛导游词
2015/02/02 职场文书
高一地理教学工作总结
2015/08/12 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
JS Object构造函数之Object.freeze
2021/04/28 Javascript
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
MySQL多表查询机制
2022/03/17 MySQL