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生成html分页列表的代码
Mar 18 PHP
PHP Document 代码注释规范
Apr 13 PHP
PHP中英混合字符串截取函数代码
Jul 17 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
Aug 28 PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
PHP递归实现层级树状展开
Apr 01 PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 PHP
Laravel学习教程之request validation的编写
Oct 25 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的无限分类实现想法~
2007/01/02 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
浅谈Python中带_的变量或函数命名
2017/12/04 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
在vscode中配置python环境过程解析
2019/09/28 Python
5款实用的python 工具推荐
2020/10/13 Python
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
学前教育毕业生自荐信范文
2013/12/24 职场文书
建筑结构施工求职信
2014/07/11 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL