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读取javascript设置的cookies的代码
Apr 12 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
通过table标签,PHP输出EXCEL的实现方法
Jul 24 PHP
三种php连接access数据库方法
Nov 11 PHP
怎样搭建PHP开发环境
Jul 28 PHP
PHP使用curl函数发送Post请求的注意事项
Nov 26 PHP
利用php生成验证码
Feb 23 PHP
php插件Xajax使用方法详解
Aug 31 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php输入数据统一类实例
2015/02/23 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
python使用matplotlib画饼状图
2018/09/25 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
深入浅析python的第三方库pandas
2020/02/13 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
中专生求职自荐信范文
2013/12/22 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
元旦联欢会感言
2014/03/04 职场文书
经典英文广告词
2014/03/18 职场文书
读群众路线的心得体会
2014/09/03 职场文书
交通事故代理词范文
2015/05/23 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书