1. 程式人生 > >PHP 上傳檔案

PHP 上傳檔案

    要實現php上傳檔案,分兩步:

一、製作一個html,用於檔案上傳:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
    <form action="uploadFile.php" method="POST" enctype="multipart/form-data">
        <label for="file">檔名:</label>
        <input type="file" name="file" id="file"/><br>
        <button type="submit">提交</button>
    </form>
</body>
</html>

二、編寫php檔案,用於對檔案進行處理

       表單提交之後,上傳的檔案的臨時副本存放在$_FILES[“file”]["tmp_name"]中,指令碼執行完之後,該副本消失。

<?php
    # 列印上傳檔案的資訊
    /*
    if($_FILES["file"]["error"]>0){
        echo "Error:".$_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>";
    }
    */

    # 對上傳檔案型別和大小進行過濾
    # 對於IE,識別 jpg檔案,檔案型別是pjpeg;對於Firefox 必須是jpeg
    echo $_FILES["file"]["type"]."<br>".",".$_FILES["file"]["size"];
    /*
    if(($_FILES["file"]["type"] == "image/gif" || 
        $_FILES["file"]["type"] == "image/jpeg" ||
        $_FILES["file"]["type"] == "image/pjpeg"
        ) && ($_FILES["file"]["size"] < 200000)){
            if($_FILES["file"]["error"]>0){
                echo "Error:".$_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>";
            }
    }else{
        echo "Invalid file";
    }
    */
    #將上傳的檔案存到一個地方
    if(($_FILES["file"]["type"] == "text/plain"
        ) && ($_FILES["file"]["size"] < 200000)){
            if($_FILES["file"]["error"]>0){
                echo "Error:".$_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>";
                if(file_exists("upload_files".$_FILES["file"]["name"])){
                    echo $_FILES["file"]["name"]." file already exists.";
                }else{
                    move_uploaded_file($_FILES["file"]["tmp_name"],
                                        "upload_files/".$_FILES["file"]["name"]
                                        );
                    echo "file store in: ".$_FILES["file"]["name"];
                }
            }
    }else{
        echo "Invalid file";
    }
?>