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 相关文章推荐
mysql 字段类型说明
Apr 27 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
探讨php中header的用法详解
Jun 07 PHP
php引用返回与取消引用的详解
Jun 08 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
Sep 06 PHP
php截取指定2个字符之间字符串的方法
Apr 15 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
PHP预定义超全局数组变量小结
Aug 20 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 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中文本数据翻页(留言本翻页)
2006/10/09 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
php初始化对象和析构函数的简单实例
2014/03/11 PHP
php计算函数执行时间的方法
2015/03/20 PHP
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
关于Python中浮点数精度处理的技巧总结
2017/08/10 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
python二进制文件的转译详解
2019/07/03 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
体育教师求职信
2014/05/24 职场文书
八年级作文之友情
2019/11/25 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript
Elasticsearch 数据类型及管理
2022/04/19 Python
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers