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中Session的概念
Oct 09 PHP
php获取地址栏信息的代码
Oct 08 PHP
PHPMyAdmin 快速配置方法
May 11 PHP
使用PHP获取网络文件的实现代码
Jan 01 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
php设置页面超时时间解决方法
Sep 22 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
Nov 25 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
redis+php实现微博(一)注册与登录功能详解
Sep 23 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中反射的应用
2013/06/18 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
js简单时间比较的方法
2016/08/02 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
Python itertools模块详解
2015/05/09 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
《宿建德江》教学反思
2014/04/23 职场文书
车辆工程专业求职信
2014/04/28 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL