PHP AjaxForm提交图片上传并显示图片源码


Posted in PHP onNovember 29, 2016

本文实例为大家分享了PHP AjaxForm提交图片上传并显示图片的具体代码,供大家参考,具体内容如下

PHP dofile.php 文件上传源码

<?php
$file_upload = "upload/";
$file_allow_ext='gif|jpg|jpeg|png|gif|zip|rar|ppt|xls|pdf|pptx|xlsx|docx';
$file_allow_size = 5*1024*1024;
if($_POST['submit']=="上传"){
 if(is_uploaded_file($_FILES['file']['tmp_name'])){
  $file_name = $_FILES['file']['name'];
  $file_error = $_FILES['file']['error'];
  $file_type = $_FILES['file']['type'];
  $file_tmp_name = $_FILES['file']['tmp_name']; 
  $file_size = $_FILES['file']['size'];
  $file_ext = substr($file_name, strrpos($file_name, '.')+1);
  switch($file_error){
  case 0:
  $data['status'] = 0;
  $data['msg'] = "文件上传成功!";  
  break;

  case 1:
  $data['status'] = 1;
  $data['msg'] = "文件上传失败,文件大小".$file_size."超过限制,允许上传大小".sizeFormat($file_allow_size)."!";  
  break;

  case 3:
  $data['status'] = 1;
  $data['msg'] = "上传失败,文件只有部份上传!";  
  break;

  case 4:
  $data['status'] = 1;
  $data['msg'] = "上传失败,文件没有被上传!";  
  break;

  case 5:
  $data['status'] = 1;
  $data['msg'] = "文件上传失败,文件大小为0!";  
  break; 
  }
  if(stripos($file_allow_ext,$file_ext)===false){
  $data['status'] = 1;
  $data['msg'] = "该文件扩展名不允许上传";  
  }
  if($file_size>$file_allow_size){  
  $data['status'] = 1;
  $data['msg'] = "文件大小超过限制,只能上传".sizeFormat($file_allow_size)."的文件!"; 
  } 
  if($data['status']==1){
  $data['status'] = 1;
  $data['msg'] = $data['msg'];
  exit(json_encode($data)); 
  }
  if($data['status']==0){
  if(file_exists($file_upload)){   
   $file_new_name = date("YmdHis").'_'.rand(10000,99999).'.'.$file_ext;
   $file_save_path = $file_upload.$file_new_name; 
   $data['status'] = 0;  
   $data['url'] = $file_save_path;
   move_uploaded_file($file_tmp_name,$file_save_path);
   exit(json_encode($data));    
  }else{
   exit(json_encode($data));
  }  

  }   
 }
}

function sizeFormat($size)
{
 $sizeStr='';
 if($size<1024)
 {
  return $size."bytes";
 }
 else if($size<(1024*1024))
 {
  $size=round($size/1024,1);
  return $size."KB";
 }
 else if($size<(1024*1024*1024))
 {
  $size=round($size/(1024*1024),1);
  return $size."MB";
 }
 else
 {
  $size=round($size/(1024*1024*1024),1);
  return $size."GB";
 } 
}



?>

HTML如下

<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://files.cnblogs.com/files/china-li/jquery.form.js"></script>

<form action="dofile.php" method="post" enctype="multipart/form-data" id="upfileimage">
<input type="hidden" name="image[]" />
<label for="file">文件:</label><input type="file" name="file" id="file" />
<input type="submit" name="submit" value="上传" />
</form>

<script type="text/javascript">
$("#upfileimage").submit(function(){
 if($("input[type=file]").val()==""){
  alert("请选择要上传的文件");
  return false;
 }
})
$(function(){
 var options = {  
  type:"POST",
  dataType:"json",
  resetForm:true,
  success:function(o){
   if(o.status==1){
   alert(o.msg);
   }else{
   $("body").append("  <img src='"+o.url+"' alt='' width='100' /><input type='hidden' name='image[]' value='"+o.url+"' />");
   }
  },
  error:function(o){
   alert(o.message);
  }  
 }
 $("#upfileimage").ajaxForm(options).submit(function(){return false;});

})
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
PHP抓取网页、解析HTML常用的方法总结
Jul 01 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
php中错误处理操作实例分析
Aug 23 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
php判断是否为ajax请求的方法
Nov 29 #PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 #PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 #PHP
PHP精确计算功能示例
Nov 29 #PHP
PHP 搜索查询功能实现
Nov 29 #PHP
php Session无效分析资料整理
Nov 29 #PHP
php 实现Hash表功能实例详解
Nov 29 #PHP
You might like
php中获得视频时间总长度的另一种方法
2011/09/15 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
python模块之time模块(实例讲解)
2017/09/13 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
基于python操作ES实例详解
2019/11/16 Python
Python实现图片添加文字
2019/11/26 Python
python 读取.nii格式图像实例
2020/07/01 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
电大毕业生自我鉴定
2013/11/10 职场文书
个人授权委托书模板
2014/09/14 职场文书
话题作文之呼唤
2019/12/18 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS
SQL Server 中的事务介绍
2022/05/20 SQL Server