原理:通過form表單的enctype = "multipart / form-data"屬性將文件臨時放在htdocs文件夾的tmp目錄下,再通過后台的程序將文件保存在自己設定的新的文件夾中。
前端頁面
前端頁面

前端代碼
<!--上傳文件-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上傳頭像</title>
</head>
<body>
<form action="picupload" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="上傳"/>
</form>
</body>
</html>
后台代碼
<?php
namespace app\index\controller;
use think\View;
use think\Controller;
class Picupload extends Controller
{
public function index()
{
$view = new View();
return $view->fetch("picupload");
}
public function picupload()
{
//判斷文件上傳是否出錯
if($_FILES["file"]["error"])
{
echo $_FILES["file"]["erroe"];
}
else
{
//控制上傳的文件類型,大小
if($_FILES["file"]["type"]=="image/jpeg"||$_FILES["file"]["type"]=="image/jpg" && $_FILES["file"]["type"]=="image/png"&&$_FILES["file"]["size"]<1024000)
{
//找到文件存放位置,注意tp5框架的相對路徑前面不用/
//這里的filename進行了拼接,前面是路徑,后面從date開始是文件名
//我在static文件下新建了一個file文件用來存放文件,要注意自己建一個文件才能存放傳過來的文件
$filename = "static/file/".date("YmdHis").$_FILES["file"]["name"];
//判斷文件是否存在
if (file_exists($filename))
{
echo "該文件已存在!";
}
else
{
//保存文件
//move_uploaded_file是php自帶的函數,前面是舊的路徑,后面是新的路徑
move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
}
}
else
{
echo "文件類型不正確!";
}
}
}
}
點擊上傳就能將文件放到指定的文件夾了
文件的命名格式按照之前設定好的規則進行命名


【 作者:Xi4or0uji 來源:CSDN 原文:https://blog.csdn.net/xiaorouji/article/details/79346894 】