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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
提升PHP执行速度全攻略
Oct 09 PHP
新版mysql+apache+php Linux安装指南
Oct 09 PHP
?生?D片??C字串
Dec 06 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
php中ob_flush函数和flush函数用法分析
Mar 18 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
php实现记事本案例
Oct 20 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 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
用Python实现校园通知更新提醒功能
2019/11/23 Python
提高python代码运行效率的一些建议
2020/09/29 Python
如何通过python计算圆周率PI
2020/11/11 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
职务聘任书范文
2014/03/29 职场文书
2015年科室工作总结
2015/04/10 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python
Python之基础函数案例详解
2021/08/30 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技