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
discuz7 phpMysql操作类
Jun 21 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
ecshop实现smtp发送邮件
Feb 03 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
PHP中的类型提示(type hinting)功能介绍
Jul 01 PHP
详解PHP中的状态模式编程
Aug 11 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
PHP常用函数之根据生日计算年龄功能示例
Oct 21 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/11/25 PHP
PHP 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
Python求凸包及多边形面积教程
2020/04/12 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
教你怎样写好自我评价
2013/10/05 职场文书
历史专业个人求职信范文
2013/12/07 职场文书
护士演讲稿范文
2014/01/05 职场文书
幼儿园教师辞职信
2014/01/18 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
大专生自荐书范文
2014/06/22 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
创卫工作总结2015
2015/04/22 职场文书
MySQL自定义函数及触发器
2022/08/05 MySQL
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers