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下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
May 09 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
Oct 30 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
在PHP中操作Excel实例代码
2010/04/29 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
php实现购物车功能(上)
2020/07/23 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
vue小白入门教程
2018/04/02 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
Django之模板层的实现代码
2019/09/09 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
thinkphp5 路由分发原理
2021/03/18 PHP
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
2014年小学重阳节活动策划方案
2014/09/16 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python