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面向对象全攻略 (十六) 对象的串行化
Sep 30 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
May 07 PHP
PHP中的函数嵌套层数限制分析
Jun 13 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
Apr 09 PHP
php实现执行某一操作时弹出确认、取消对话框
Dec 30 PHP
php实现随机显示图片方法汇总
May 21 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 PHP
PHP实现的函数重载功能示例
Aug 03 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 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 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
Destoon模板制作简明教程
2014/06/20 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
jQuery代码优化 选择符篇
2011/11/01 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
微信小程序之左右布局的实现代码
2019/12/13 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python装饰器常见使用方法分析
2019/06/26 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
python中entry用法讲解
2020/12/04 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
selenium如何定位span元素的实现
2021/01/13 Python
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
退休教师欢送会主持词
2014/03/31 职场文书
六一亲子活动总结
2014/07/01 职场文书
授权委托书(完整版)
2014/09/10 职场文书
2014工程部年度工作总结
2014/12/17 职场文书