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程序
Oct 09 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 PHP
php实现加减法验证码代码
Feb 14 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
PHP中require和include路径问题详解
Dec 25 PHP
discuz目录文件资料汇总
Dec 30 PHP
php实现图片局部打马赛克的方法
Feb 11 PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 PHP
laravel 自定义常量的两种方案
Oct 14 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的autoLoad自动加载机制
2012/09/27 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
理解Javascript_03_javascript全局观
2010/10/11 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
layui导航栏实现代码
2017/05/19 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python注释详解
2016/06/01 Python
使用python实现生成用户信息
2017/03/20 Python
Python实现的密码强度检测器示例
2017/08/23 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python简单实现操作Mysql数据库
2018/01/29 Python
python里 super类的工作原理详解
2019/06/19 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
韩语专业本科生求职信
2013/10/01 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
公务员个人总结
2015/02/12 职场文书
体检通知范文
2015/04/21 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫