代碼編輯軟件看個人習慣,首先我們先寫前端部分代碼
1.laiyui官網:https://www.layui.com/ 下載代碼包
2.把下載好的代碼包放入新建好的的項目中
3.引用layui的css跟js文件
<!-- 引入layui樣式 -->
<link rel="stylesheet" href="layui/css/layui.css">
<!-- 引入layui js -->
<script src="layui/layui.js" type="text/javascript" charset="utf-8"></script>
<!-- 引入jquery -->
4.查看layui上傳文件的官方文檔:https://www.layui.com/doc/modules/upload.html
5.直接把文檔中的代碼複製粘貼到body中
6.點擊按鈕便可以選擇文件
接下來我們寫上傳文件的PHP
1.首先安裝一個phpStudy,
2.找到安裝目錄中的PHPTutorial目錄下的WWW目錄
3.新建一個up.php然後用編輯軟件打開
1).首先在PHP文件<?php...?>聲明是PHP文件
2).在文件頂部加入下面代碼。具體作用我已經註釋到代碼後面了
<?php
header("Access-Control-Allow-Origin: *"); //解決跨域
header('Access-Control-Allow-Methods:post');// 響應類型
date_default_timezone_set('PRC');//獲取當前時間
3).獲取上傳文件目錄
$month = date('Ym', time());//獲取年月
define('BASE_PATH', str_replace('\\', '/', realpath(dirname(__FILE__).'/'))."/");
$dir = BASE_PATH."upload/".$month."/";//判斷是否有對應的文件
4).然年後初始化一個數組作爲返回數組
$arr = array(
'code' => 0,//返回狀態
'msg'=> '',//提示消息
'data' =>array(//文件鏈接
'src' => $dir . $_FILES["file"]["name"]
),
);
5).文件處理
$file_info = $_FILES['file'];//前端傳過來的文件
$file_error = $file_info['error'];
if (!is_dir($dir)) {//判斷目錄是否存在
mkdir($dir, 0777, true);//如果目錄不存在則創建目錄
};
$file = $dir.$_FILES["file"]["name"];//上傳文件的名字
if (!file_exists($file)) {//判斷文件中是否有相同的文件
if ($file_error == 0) {
if (move_uploaded_file($_FILES["file"]["tmp_name"], $dir. $_FILES["file"]["name"])) {
$arr['msg'] ="上傳成功";
} else {
$arr['msg'] = "上傳失敗";
}
} else {
switch ($file_error) {
case 1:
$arr['msg'] ='上傳文件超過了PHP配置文件中upload_max_filesize選項的值';
break;
case 2:
$arr['msg'] ='超過了表單max_file_size限制的大小';
break;
case 3:
$arr['msg'] ='文件部分被上傳';
break;
case 4:
$arr['msg'] ='沒有選擇上傳文件';
break;
case 6:
$arr['msg'] ='沒有找到臨時文件';
break;
case 7:
case 8:
$arr['msg'] = '系統錯誤';
break;
}
}
} else {
$arr['code'] ="1";
$arr['msg'] = "當前目錄中,文件".$file."已存在";
}
echo json_encode($arr);//將遍歷好的數組反給前端
PHP代碼大概就這樣,然後我們將寫好的接口放到前端的url中
按照我跟你們講的接口爲http://localhost/up.php
大概是路就這樣,要沒看明白的話這是源代碼鏈接:https://blog.csdn.net/qq_41241504/article/details/103303384
可以自己研究一下。
各位大佬要是有什麼好的思路歡迎評論到下面,我會積極採納的