日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

ThinkPHP6项目基操(17.实战部分 Filesystem文件上传)

發(fā)布時(shí)間:2025/3/15 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ThinkPHP6项目基操(17.实战部分 Filesystem文件上传) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Filesystem文件上傳

控制器:

<?php namespace app\admin\controller; use app\BaseController; use think\facade\Filesystem; use think\facade\View;class Upload extends BaseController {// 上傳頁(yè)面public function index(){return View::fetch("index");}// 上傳文件方法public function image(){if(!$this->request->isPost()){return show(config("status.error"), "請(qǐng)求不合法");}$file = $this->request->file("file");$savename = Filesystem::putFile('topic', $file);if(!$savename){return show(config("status.error"), "上傳圖片失敗");}return show(config("status.success"), "上傳成功", ["savename"=>$savename]);} }

默認(rèn)情況下是上傳到本地服務(wù)器,會(huì)在runtime/storage目錄下面生成以當(dāng)前日期為子目錄,以微秒時(shí)間的md5編碼為文件名的文件,例如:

考慮到runtime目錄不能直接訪問(wèn),如果你希望上傳的文件是可以直接訪問(wèn)或者下載的話,可以使用public存儲(chǔ)方式(也可以自定義目錄):

$savename = Filesystem::disk('public')->putFile('topic', $file);

上傳結(jié)果:

為什么這里多了一層storage目錄呢?因?yàn)樵赾onfig配置文件里配置了默認(rèn)的根目錄,在
filesystem.php 配置文件:

<?phpreturn [// 默認(rèn)磁盤(pán)'default' => env('filesystem.driver', 'local'),// 磁盤(pán)列表'disks' => ['local' => ['type' => 'local','root' => app()->getRuntimePath() . 'storage',],'public' => [// 磁盤(pán)類(lèi)型'type' => 'local',// 磁盤(pán)路徑'root' => app()->getRootPath() . 'public/storage',// 磁盤(pán)路徑對(duì)應(yīng)的外部URL路徑'url' => '/storage',// 可見(jiàn)性'visibility' => 'public',],// 更多的磁盤(pán)配置信息], ];

如果不希望有storage目錄,可以修改public的配置:

'root' => app()->getRootPath() . 'public',

結(jié)果:

前端頁(yè)面

這里是使用了layuiadmin的頁(yè)面:

<!DOCTYPE html> <html> <head><meta charset="utf-8"><title>上傳</title><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"><link rel="stylesheet" href="{__STATIC__}/admin/layuiadmin/layui/css/layui.css" media="all"><link rel="stylesheet" href="{__STATIC__}/admin/layuiadmin/style/admin.css" media="all"> </head> <body><style>.layui-upload-img{width: 92px; height: 92px; margin: 0 10px 10px 0;}</style><div class="layui-fluid"><div class="layui-row layui-col-space15"><div class="layui-col-md12"><div class="layui-card"><div class="layui-card-header">普通圖片上傳</div><div class="layui-card-body"><div class="layui-upload"><button type="button" class="layui-btn" id="test-upload-normal">上傳圖片</button><div class="layui-upload-list"><img class="layui-upload-img" id="test-upload-normal-img"><p id="test-upload-demoText"></p></div></div></div></div></div></div></div><script src="{__STATIC__}/admin/layuiadmin/layui/layui.js"></script><script>layui.config({base: '{__STATIC__}/admin/layuiadmin/'}).extend({index: 'lib/index'}).use(['index', 'upload'], function(){var $ = layui.jquery,upload = layui.upload;//普通圖片上傳var uploadInst = upload.render({elem: '#test-upload-normal',url: '/admin/upload/image',before: function(obj){//預(yù)讀本地文件示例,不支持ie8obj.preview(function(index, file, result){$('#test-upload-normal-img').attr('src', result);});},done: function(res){if(res.status === 1){return layer.msg('上傳成功');}else{return layer.msg('上傳失敗');}},error: function(){var demoText = $('#test-upload-demoText');demoText.html('<span style="color: #FF5722;">上傳失敗</span> <a class="layui-btn layui-btn-mini demo-reload">重試</a>');demoText.find('.demo-reload').on('click', function(){uploadInst.upload();});}});});</script> </body> </html>

Tips: 可以在上傳控制器做文件的類(lèi)型、大小等屬性校驗(yàn)。


??重磅推薦:免費(fèi)商用電商系統(tǒng)

😏想白嫖整個(gè)電商系統(tǒng)用來(lái)商用?
🤑想有自己的商城實(shí)現(xiàn)財(cái)富自由?
🤓想學(xué)習(xí)最佳實(shí)踐提升自己技術(shù)?

快來(lái)進(jìn)入🚀 傳送門(mén) 🚀,開(kāi)源免費(fèi)、完整示例帶你快速入門(mén),輕松二開(kāi),走上人生巔峰!👨?🎓

總結(jié)

以上是生活随笔為你收集整理的ThinkPHP6项目基操(17.实战部分 Filesystem文件上传)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。