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 相关文章推荐
ZF等常用php框架中存在的问题
Jan 10 PHP
PHP 采集心得技巧
May 15 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
在PHP中养成7个面向对象的好习惯
Jan 28 PHP
php disk_free_space 返回目录可用空间
May 10 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
PHP中COOKIES使用示例
Jul 26 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
php+js实现百度地图多点标注的方法
Nov 30 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 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 strtok()函数的优点分析
2010/03/02 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
js控制table合并具体实现
2014/02/20 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
JavaScript实现弹出广告功能
2017/03/30 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python实现从web抓取文档的方法
2014/09/26 Python
深入浅析python继承问题
2016/05/29 Python
Python中super函数的用法
2017/11/17 Python
django中模板的html自动转意方法
2018/05/27 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
详解python中的异常和文件读写
2021/01/03 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
工作睡觉检讨书
2014/02/25 职场文书
家长对老师的感言
2014/03/11 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL