php+ajax实现带进度条的上传图片功能【附demo源码下载】

 更新时间:2016年09月14日 12:14:06   作者:懒人  
这篇文章主要介绍了php+ajax实现带进度条的上传图片功能,涉及php文件传输及ajax无刷新提交的相关操作技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下

本文实例讲述了php+ajax实现带进度条的上传图片功能。分享给大家供大家参考,具体如下:

运行效果图如下:

代码如下:

<?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运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php多进程应用场景实例详解

    php多进程应用场景实例详解

    这篇文章主要介绍了php多进程应用,结合具体实例形式详细分析了php多进程模块依赖pcntl扩展安装、使用相关操作技巧与注意事项,需要的朋友可以参考下
    2019-07-07
  • php中随机函数mt_rand()与rand()性能对比分析

    php中随机函数mt_rand()与rand()性能对比分析

    这篇文章主要介绍了php中随机函数mt_rand()与rand()性能对比分析,较为详细的分析了两个函数的具体用法,并以实例形式分析了在不同平台下的运行效率问题,需要的朋友可以参考下
    2014-12-12
  • PHP字符串中插入子字符串方法总结

    PHP字符串中插入子字符串方法总结

    这篇文章主要介绍了PHP字符串中插入子字符串方法,对比分析了字符串遍历,substr方法截取与组合,以及直接使用substr_replace函数进行子字符串的插入三种不同的实现方法,涉及php字符串操作的常用技巧,需要的朋友可以参考下
    2016-05-05
  • PHP利用hash冲突漏洞进行DDoS攻击的方法分析

    PHP利用hash冲突漏洞进行DDoS攻击的方法分析

    这篇文章主要介绍了PHP利用hash冲突漏洞进行DDoS攻击的方法,实例分析了php利用hash进行DDoS攻击的原理与实现技巧,需要的朋友可以参考下
    2015-03-03
  • PHP统计目录下的文件总数及代码行数(去除注释及空行)

    PHP统计目录下的文件总数及代码行数(去除注释及空行)

    在开发的时候,为了统计开发出的代码总行数及文件总数,在没有使用工具的时候,总是要去一个文件一个文件的查找,文件夹层次少还行,层次多的时候就累死人了
    2011-01-01
  • php 文件夹删除、php清除缓存程序

    php 文件夹删除、php清除缓存程序

    写了个删除文件夹的程序的代码,大家可以参考下。
    2009-08-08
  • CodeIgniter基本配置详细介绍

    CodeIgniter基本配置详细介绍

    CodeIgniter 基本配置信息在 application/config/config.php 文件,本文详细讲解每一个基本配置选项,从而快速掌握CodeIgniter 进行开发。
    2013-11-11
  • php几个预定义变量$_SERVER用法小结

    php几个预定义变量$_SERVER用法小结

    这篇文章主要介绍了php几个预定义变量$_SERVER用法,实例总结了服务器端预定义变量$_SERVER的常见用法,需要的朋友可以参考下
    2014-11-11
  • PHP数组常用函数实例小结

    PHP数组常用函数实例小结

    这篇文章主要介绍了PHP数组常用函数,结合实例形式总结分析了php针对数组的统计、计算、去重、过滤等相关函数使用技巧,需要的朋友可以参考下
    2018-08-08
  • PHP 采集程序原理分析篇

    PHP 采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的。
    2010-03-03

最新评论