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项目打包方法
Feb 18 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
destoon调用discuz论坛中带图片帖子的实现方法
Aug 21 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
PHP工厂模式的日常使用
Mar 20 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
php购物车实现代码
2011/10/10 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
理解javascript回调函数
2014/12/28 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
vue组件与复用详解
2018/04/08 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
使用Python实现简单的服务器功能
2017/08/25 Python
Python实现12306火车票抢票系统
2019/07/04 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
python3让print输出不换行的方法
2020/08/24 Python
函授本科毕业生自我鉴定
2013/10/16 职场文书
护士演讲稿范文
2014/01/05 职场文书
学历公证委托书
2014/04/09 职场文书
环保建议书600字
2014/05/14 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
学术会议领导致辞
2015/07/29 职场文书
2019教师的学习计划
2019/06/25 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js