>  기사  >  백엔드 개발  >  PHP 파일 업로드 및 uploadive의 기본 사용

PHP 파일 업로드 및 uploadive의 기본 사용

不言
不言원래의
2018-05-08 09:45:383938검색

이 글은 주로 PHP 파일 업로드와 업로드의 기본적인 사용법을 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

이 글은 프레임워크를 사용하지 않고 PHP 업로드를 구현하는 방법에 관한 것입니다. uploadifive를 사용하여 프레임워크를 정리했습니다

프레임워크를 사용하지 않고 파일 업로드

초보자 튜토리얼의 데모를 간략히 살펴보았습니다.
파일 구조는 아래와 같습니다
PHP 파일 업로드 및 uploadive의 기본 사용

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 업로드 메커니즘을 통해 업로드됨)인지 확인합니다. 파일이 적법한 경우 대상에 지정된 파일로 이동됩니다.

매개변수 소개:

$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 관련 파일이 없습니다. 공식 웹사이트에서 다운로드하거나 데모에서 파일을 찾을 수 있습니다.

  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 파일 업로드 및 uploadive의 기본 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.