ホームページ  >  記事  >  バックエンド開発  >  PHPファイルのアップロードとuploadiveの基本的な使い方

PHPファイルのアップロードとuploadiveの基本的な使い方

不言
不言オリジナル
2018-05-08 09:45:383893ブラウズ

この記事では、主に PHP ファイルのアップロードと Uploadifive の基本的な使用方法を紹介します。これは、必要な友人に参考にしていただけるように共有します。フレームワークをまとめました

フレームワークを使わずにファイルをアップロードする

初心者向けチュートリアルのデモを簡単に見てみましょう
ファイル構造は以下の通りです



form.htmlPHPファイルのアップロードとuploadiveの基本的な使い方

<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() が 1 つだけで、他のコードはフィルタリングを準備するためのステートメントです。

メソッド紹介

bool move_uploaded_file ( string $filename , string $destination )

機能:
アップロードされたファイルを新しい場所に移動します。この関数は、filename で指定されたファイルが正当なアップロード ファイル (つまり、PHP の HTTP POST アップロード メカニズムを介してアップロードされたもの) であることを確認します。ファイルが正当な場合は、宛先で指定されたファイルに移動されます。

パラメータの紹介:

$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に関連するファイルはありません。公式 Web サイトからダウンロードするか、デモでファイルを見つけることができます。

フォームを作成する
  1.     <form>
            <p id="queue"></p>
            <input id="file_upload" name="file_upload" type="file" multiple="true">
        </form>

jsのフレームワークを使用する
  1. <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ファイルのアップロードとuploadiveの基本的な使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。