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 相关文章推荐
与数据库连接
Oct 09 PHP
linux iconv方法的使用
Oct 01 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
PHP7.0安装笔记整理
Aug 28 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
PHP创建多级目录的两种方法
Oct 28 PHP
PHP实现PDO操作mysql存储过程示例
Feb 13 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 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数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
基于Zookeeper的使用详解
2013/05/02 PHP
如何判断php数组的维度
2013/06/10 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
flexigrid 参数说明
2010/11/23 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
Python实现处理管道的方法
2015/06/04 Python
在Python程序中操作MySQL的基本方法
2015/07/29 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
大学毕业通用个人的求职信
2013/12/08 职场文书
国贸专业求职信
2014/06/28 职场文书
学生违反校规检讨书
2014/10/28 职场文书
个人原因辞职信模板
2015/05/13 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA