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页面缓存ob系列函数介绍
Oct 18 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
php随机显示图片的简单示例
Feb 15 PHP
Linux下php5.4启动脚本
Aug 03 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
php生成过去100年下拉列表的方法
Jul 20 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
php构造函数与析构函数
Apr 23 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 PHP
PHP页面静态化――纯静态与伪静态用法详解
Jun 05 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 登录完成后如何跳转上一访问页面
2014/01/14 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
js 窗口抖动示例
2013/09/04 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
Python获取网页上图片下载地址的方法
2015/03/11 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
用python批量移动文件
2021/01/14 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
C++面试题:关于链表和指针
2013/06/05 面试题
新员工试用期自我评价
2015/03/10 职场文书
在职证明格式样本
2015/06/15 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫