php+ajax实现带进度条的上传图片功能【附demo源码下载】


Posted in PHP onSeptember 14, 2016

本文实例讲述了php+ajax实现带进度条的上传图片功能。分享给大家供大家参考,具体如下:

运行效果图如下:

php+ajax实现带进度条的上传图片功能【附demo源码下载】

代码如下:

<?php
if(isset($_FILES["FileInput"]) && $_FILES["FileInput"]["error"]== UPLOAD_ERR_OK)
{
  ############ Edit settings ##############
  $UploadDirectory  = 'F:/Websites/file_upload/uploads/'; //specify upload directory ends with / (slash)
  ##########################################
  /*
  Note : You will run into errors or blank page if "memory_limit" or "upload_max_filesize" is set to low in "php.ini".
  Open "php.ini" file, and search for "memory_limit" or "upload_max_filesize" limit
  and set them adequately, also check "post_max_size".
  */
  //check if this is an ajax request
  if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])){
    die();
  }
  //Is file size is less than allowed size.
  if ($_FILES["FileInput"]["size"] > 5242880) {
    die("File size is too big!");
  }
  //allowed file type Server side check
  switch(strtolower($_FILES['FileInput']['type']))
    {
      //allowed file types
      case 'image/png':
      case 'image/gif':
      case 'image/jpeg':
      case 'image/pjpeg':
      case 'text/plain':
      case 'text/html': //html file
      case 'application/x-zip-compressed':
      case 'application/pdf':
      case 'application/msword':
      case 'application/vnd.ms-excel':
      case 'video/mp4':
        break;
      default:
        die('Unsupported File!'); //output error
  }
  $File_Name     = strtolower($_FILES['FileInput']['name']);
  $File_Ext      = substr($File_Name, strrpos($File_Name, '.')); //get file extention
  $Random_Number   = rand(0, 9999999999); //Random number to be added to name.
  $NewFileName    = $Random_Number.$File_Ext; //new file name
  if(move_uploaded_file($_FILES['FileInput']['tmp_name'], $UploadDirectory.$NewFileName ))
    {
    die('Success! File Uploaded.');
  }else{
    die('error uploading File!');
  }
}
else
{
  die('Something wrong with upload! Is "upload_max_filesize" set correctly?');
}

完整实例代码点击此处本站下载。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php5新改动之短标记启用方法
Sep 11 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
php实现图形显示Ip地址的代码及注释
Jan 20 PHP
php汉字转拼音的示例
Feb 27 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
PHP的PDO连接讲解
Jan 24 PHP
PHP如何解决微信文章图片防盗链
Dec 09 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 #PHP
PHP经典算法集锦【经典收藏】
Sep 14 #PHP
微信支付的开发流程详解
Sep 13 #PHP
PHP仿微信多图片预览上传实例代码
Sep 13 #PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 #PHP
PHP基于单例模式编写PDO类的方法
Sep 13 #PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 #PHP
You might like
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
js Flash插入函数免激活代码
2009/03/31 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
angularJS 入门基础
2015/02/09 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
在Django中使用Sitemap的方法讲解
2015/07/22 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python中static相关知识小结
2018/01/02 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
Python字典底层实现原理详解
2019/12/18 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
工程开工庆典邀请函
2014/02/01 职场文书
感恩之星事迹材料
2014/05/03 职场文书
捐书倡议书
2014/08/29 职场文书
办公室班子四风问题对照检查材料
2014/10/04 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
人事主管岗位职责
2015/02/04 职场文书
mysql insert 存在即不插入语法说明
2022/03/25 MySQL