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初学者头疼问题总结
Jul 08 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
php删除左端与右端空格的方法
Nov 29 PHP
php中Ctype函数用法详解
Dec 09 PHP
php中的观察者模式简单实例
Jan 20 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
初识PHP中的Swoole
Apr 05 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
laravel执行php artisan migrate报错的解决方法
Oct 09 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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缓冲输出实例分析
2015/01/05 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
移动节点的jquery代码
2014/01/13 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
js轮播图代码分享
2016/07/14 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
Python函数返回值实例分析
2015/06/08 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
Python __slots__的使用方法
2020/11/15 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
大学生关于奋斗的演讲稿
2014/01/09 职场文书
银行工作检查书范文
2014/01/31 职场文书
银行服务感言
2014/03/01 职场文书
委托公证书范本
2014/04/03 职场文书
市场部经理岗位职责
2014/04/10 职场文书
推荐信格式范文
2014/05/09 职场文书
绿色出行口号
2014/06/18 职场文书
教师自查自纠材料
2014/10/14 职场文书
免职通知
2015/04/23 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
红与黑读书笔记
2015/06/29 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python