Maison  >  Article  >  développement back-end  >  Téléchargement de fichiers PHP et utilisation de base de uploadifive

Téléchargement de fichiers PHP et utilisation de base de uploadifive

不言
不言original
2018-05-08 09:45:383943parcourir

Cet article présente principalement l'utilisation de base du téléchargement et du téléchargement de fichiers PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Cet article est-il correct. ?Résumé de l'utilisation du framework pour implémenter le téléchargement PHP et de l'utilisation du framework uploadifive

Implémentation du téléchargement de fichiers sans utiliser le framework

Regardé brièvement la démo sur le tutoriel novice
Le la structure du fichier est la suivante
Téléchargement de fichiers PHP et utilisation de base de 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>

La forme la plus basique, pas grand chose à dire

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 "非法的文件格式";
}

C'est aussi facile à comprendre. Il n'y a qu'un seul move_uploaded_file() dans la fonction principale, et les autres codes sont des instructions pour préparer le filtrage, ce qui est également facile à comprendre.

Introduction à la méthode
bool move_uploaded_file ( string $filename , string $destination )

Fonction :
  Déplacez le fichier téléchargé vers un nouvel emplacement. Cette fonction vérifie que le fichier spécifié par nom de fichier est un fichier de téléchargement légitime (c'est-à-dire téléchargé via le mécanisme de téléchargement HTTP POST de PHP). Si le fichier est légal, il est déplacé vers le fichier spécifié par destination.

Introduction aux paramètres :

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



Utiliser le framework uploadifive pour implémenter le téléchargement de fichiers

  1. Présentez les fichiers de framework requis

<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">

Il n'y a pas de fichiers associés pour jquery et uploadifive. Vous pouvez les télécharger depuis le site officiel ou trouver les fichiers dans la démo.

  1. Créer un formulaire

    <form>
        <p id="queue"></p>
        <input id="file_upload" name="file_upload" type="file" multiple="true">
    </form>
  1. Utiliser le framework en 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>

Cet exemple utilise uniquement les attributs les plus basiques pour implémenter la fonction de téléchargement de base

Recommandations associées :

Introduction de base au téléchargement de fichiers php

Classe de téléchargement de fichiers PHP et partage de classe de téléchargement multi-fichiers encapsulé PHP


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn