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 相关文章推荐
php通过COM类调用组件的实现代码
Jan 11 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
CI框架常用函数封装实例
Nov 21 PHP
php取出数组单个值的方法
Mar 12 PHP
PHP crc32()函数讲解
Feb 14 PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 PHP
详解Laravel服务容器的绑定与解析
Nov 05 PHP
PHP项目多语言配置平台实现过程解析
May 18 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
php多重接口的实现方法
2015/06/20 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
Python中一些深不见底的“坑”
2019/06/12 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
关于python中remove的一些坑小结
2021/01/04 Python
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
2014年社区学雷锋活动总结
2014/03/09 职场文书
任命书怎么写
2014/06/04 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
工会工作个人总结
2015/03/03 职场文书
永远是春天观后感
2015/06/12 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL