首頁  >  文章  >  後端開發  >  php檔案上傳及uploadifive的基本使用

php檔案上傳及uploadifive的基本使用

不言
不言原創
2018-05-08 09:45:383892瀏覽

這篇文章主要介紹了關於php檔案上傳及uploadifive的基本使用,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

本對不使用框架實作php上傳和使用uploadifive框架進行了小結

不使用框架實作檔上傳

簡單看了下菜鳥教學上的demo
檔案結構如下圖
php檔案上傳及uploadifive的基本使用

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