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 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
第七节--类的静态成员
Nov 16 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
phpmyadmin打开很慢的解决方法
Apr 21 PHP
Thinkphp中的volist标签用法简介
Jun 18 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
详解PHP中的 input属性(隐藏 只读 限制)
Aug 14 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
Laravel中错误与异常处理的用法示例
Sep 16 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/07/12 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
Python的迭代器和生成器
2015/07/29 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
python模块内置属性概念及实例
2021/02/18 Python
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
行政文秘岗位职责范本
2014/02/10 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
学习保证书100字
2015/02/26 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
如何利用React实现图片识别App
2022/02/18 Javascript
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server
Java实现注册登录跳转
2022/06/16 Java/Android
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers