首页 >后端开发 >php教程 >php文件上传及uploadifive的基本使用

php文件上传及uploadifive的基本使用

不言
不言原创
2018-05-08 09:45:383984浏览

这篇文章主要介绍了关于php文件上传及uploadifive的基本使用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

本篇对 不使用框架实现php上传 和 使用uploadifive框架进行了小结

不使用框架实现文件上传

简单看了下菜鸟教程上的demo
文件结构如下图
这里写图片描述

form.html

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <label for="file">文件名:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="提交"></form>

最基本的表单,不多说

upload_file.php

//允许上传的图片后缀
$allowedExts = array("gif","jpeg","jpg","png","doc");
$temp = explode(".",$_FILES["file"]["name"]);
echo $_FILES["file"]["size"];
$extension = end($temp);
if((($_FILES["file"]["type"] == "images/gif")
    ||($_FILES["file"]["type"] == "image/jpeg")
    ||($_FILES["file"]["type"] == "image/jpg")
    ||($_FILES["file"]["type"] == "image/pjpeg")
    ||($_FILES["file"]["type"] == "image/x-png")
    ||($_FILES["file"]["type"] == "image/png")
    ||($_FILES["file"]["type"] == "application/msword"))
    &&($_FILES["file"]["size"] < 204800)
    && in_array($extension,$allowedExts)){    if($_FILES["file"]["error"] > 0){        
    echo "错误:: ".$_FILES["file"]["error"]."<br>";
    }else{        
    echo "上传文件名: ".$_FILES["file"]["name"]."<br>";        
    echo "文件类型: ".$_FILES["file"]["type"]."<br>";        
    echo "文件大小: ".($_FILES["file"]["size"]/1024)."kB<br>";        
    echo "文件临时存储的位置: ".$_FILES["file"]["tmp_name"]."<br>";        //判断当前目录下的upload目录是否存在
        //如果没有upload目录, 你需要创建它,upload目录权限为 777
        if(file_exists("upload/".$_FILES["file"]["name"])){            
        echo $_FILES["file"]["name"]."文件已经存在。";
        }else{            
        //如果upload 目录不存在该文件则将文件上传到upload目录上s
            move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]);            
            echo "文件存储在: "."upload/".$_FILES["file"]["name"];
        }
    }
}else{    
echo "非法的文件格式";
}

也很好理解,核心函数只有一个move_uploaded_file(),其它的代码都是些为筛选做准备的语句,也很容易理解。

方法介绍
bool move_uploaded_file ( string $filename , string $destination )

作用:
  将上传文件移动到新的位置。本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。

参数介绍:

$filename:上传文件的文件名
$destination:移动文件到这个位置



使用uploadifive框架实现文件上传

  1. 引入所需要的框架文件

<script src="../js/jquery-3.3.1.min.js" type="text/javascript"></script>
<script src="jquery.uploadifive.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="uploadifive.css">

jquery和uploadifive的相关文件,没有可去官网下载或者找demo中文件。

  1. 创建表单

    <form>
        <p id="queue"></p>
        <input id="file_upload" name="file_upload" type="file" multiple="true">
    </form>
  1. 在js中使用框架

<script type="text/javascript">
        <?php $timestamp = time();?>
        $(function () {
            $(&#39;#file_upload&#39;).uploadifive({              
              &#39;auto&#39; : true,          
              //是否自动上传,默认true
                &#39;checkScript&#39; : &#39;\.\/js\/uploadify\/check-exists.php&#39;, //检查文件路径
                &#39;formData&#39; : {                   
                 &#39;timestamp&#39; : &#39;<?php echo $timestamp;?>&#39;,                   
                 &#39;token&#39; : &#39;<?php echo md5(&#39;unique_salt&#39;.$timestamp);?>&#39;,
                },               
                 &#39;onInit&#39; :  function(){
                    $(&#39;p.uploadifive-button&#39;).show();
                },               
                 &#39;queueID&#39; : &#39;queue&#39;,   //进度条的显示位置
                &#39;uploadScript&#39; : &#39;demo\/uploadifive.php&#39;,       //上传路径脚本
                &#39;onUploadComplete&#39; : function(file,data){  //文件上传成功后执
//                  console.log(file);
                },                
                &#39;onError&#39;      : function(errorType) {
                    console.log(errorType);                   
                     var msg = &#39;文件上传有误&#39;;                    
                     switch(errorType) {                        
                     case &#39;FORBIDDEN_FILE_TYPE&#39;:
                            msg = &#39;错误的上传文件类型&#39;;                            
                            break;

                    }
                    alert(&#39;错误提示: &#39; + msg);
                }
            });
        });    </script>

本例子只使用了最基本一些属性,实现了基本的上传功能

相关推荐:

php文件上传基础入门

php文件上传类及PHP封装的多文件上传类分享


以上是php文件上传及uploadifive的基本使用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn