QQ截圖20181204091839.png

前臺HTML文件,可命名為:upload.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="gbk">
    <title>文件上傳</title>
</head>
<body>
<div>
    <form method="post" action="upload.php" enctype="multipart/form-data" >
        用戶名<input type="text" name="username"></input>
        <br>
        文件簡單介紹<br><textarea name="fileintro" rows="8" cols="50"></textarea>
        <br>選擇要上傳的文件<br><input type="file" name="myfile"></input><br>
        <input type="submit" value="上傳文件"></input>
    </form>
</div>
</body>
</html>


后臺PHP上傳文件,可命名為:upload.php

<?php
//接收提交頁面傳送的相關信息
$name = $_POST['username'];
$intro = $_POST['fileintro'];
//$_FILES中存放著文件的相關信息
// echo "<pre>";
// print_r($_FILES);
// echo "</pre>";

//可以在這里對文件大小進行限制
/*$filesize = $_FILES['myfile']['size'];
if($filesize>20*1024*1024){
    echo "文件過大,不能上傳";
    exit();
}*/
 
 //可以對文件類型進行限制
 /*$filetype = $_FILES['myfile']['type'];
 if($filetype!='image/jpg'&&$filetype!='application/pdf'){
     echo "文件類型只能是jpg和pdf";
     exit();
 }*/
 
if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {
    //把文件轉存到你希望存放的目錄
    $uploaded = $_FILES['myfile']['tmp_name'];
    
    //每個用戶動態創建一個文件夾
    $userpath = $_SERVER['DOCUMENT_ROOT']."./auto/file/".$name;
    //判斷該用戶是否已經有文件夾
    if(!file_exists($userpath)){
        mkdir($userpath);
    }
    
    //防止同一用戶上傳同名文件,可在文件中添加時間戳。
    //$moveto   = $userpath."/".time().$_FILES['myfile']['name'];
    
    //或者對文件名進行修改,但是需要使用字符串處理截得文件后綴名
    $truename = $_FILES['myfile']['name'];
    $moveto   = $userpath."/".time().substr($truename,strrpos($truename,"."));
    
    if(move_uploaded_file($uploaded,iconv("utf-8", "gb2312", $moveto))){
        echo "上傳文件".$_FILES['myfile']['name']."成功";
    }else{
        echo "上傳文件".$_FILES['myfile']['name']."失敗";
    }
}else{
    echo "上傳文件".$FILES['myfile']['name']."失敗";
}
?>