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产生动态的影像图
Oct 09 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
PHP手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
在win7中搭建Linux+PHP 开发环境
Oct 08 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 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遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
php实现httpRequest的方法
2015/03/13 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
python文件编写好后如何实践
2020/07/07 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
幼儿园小班教师寄语
2014/04/03 职场文书
师德师风剖析材料
2014/09/30 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL
nginx之内存池的实现
2022/06/28 Servers