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 相关文章推荐
截获网站title标签之家内容的例子
Oct 09 PHP
PHP 模拟登陆MSN并获得用户信息
May 16 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
php学习笔记之面向对象编程
Dec 29 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
php实现的短网址算法分享
Jun 20 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
Windows 下安装 swoole 图文教程(php)
Jun 05 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 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 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
requireJS使用指南
2016/04/27 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
python实现网页链接提取的方法分享
2014/02/25 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python三级目录展示的实现方法
2016/09/28 Python
python字符串Intern机制详解
2019/07/01 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
Python 多进程原理及实现
2020/12/21 Python
python中常用的数据结构介绍
2021/01/12 Python
中学生清明节演讲稿
2015/03/18 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
婚宴新娘致辞
2015/07/28 职场文书