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学习之运算符相关概念
Jun 09 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
Jan 13 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
thinkphp模板输出技巧汇总
Nov 24 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
10条php编程小技巧
Jul 07 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
Swoole 5将移除自动添加Event::wait()特性详解
Jul 10 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 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
DISCUZ 分页代码
2007/01/02 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
Python中规范定义命名空间的一些建议
2016/06/04 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
心得体会怎么写
2013/12/30 职场文书
工作表现评语
2014/01/19 职场文书
工厂保安员岗位职责
2014/01/31 职场文书
企业员工培训感言
2014/02/26 职场文书
2014年就业工作总结
2014/11/26 职场文书
redis实现排行榜功能
2021/05/24 Redis
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS