多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 文件上传-后台进阶(php) EpiiAdmin的上传模块是面向抽象接口开发,可以根据不同文件处理逻辑,设置自己的文件处理器即可。在入口文件只需设置相应的处理器,整个项目其它地方均无需改变。这意味着你可以很方便的把上传的文件上传到云存储,ftp,等任何你想要的地方。(EpiiAdmin默认的处理器为文件本地保存) 1. 编写自己的处理器 2. 在入口文件设置自己的处理器。 3. 常见的处理器。 ### 1、如何编写处理器 处理器必须实现 `epii\ui\upload\driver\IUploader `接口,这个接口要求必须实现两个函数分别为: ```php interface IUploader { public function handlePostFiles(array $allowedExts=["gif", "jpeg", "jpg", "png"],$file_size=204800,$dir=null,$url_pre = null):UploaderResult; public function del(array $data):bool ; } ``` 如: ```php class MyUploadHandler implements IUploader { public function handlePostFiles(array $allowedExts=["gif", "jpeg", "jpg", "png"],$file_size=204800,$dir=null,$url_pre = null):UploaderResult{ //自己的逻辑 } public function del(array $data):bool { } } ``` ### 2、在入口文件设置自己的上传处理器。 ```php AdminUiUpload::setUploadHandler(string $classnae);//是名称,而非实例 ``` 如: ```php AdminUiUpload::setUploadHandler(MyUploadHandler::class) ``` ## 3,常见的处理器。 EpiiAdmin默认的处理器为`epii\ui\upload\driver\LocalFileUploader`,这个处理器是把文件保存在指定的目录(这个目录你可以更改)。 非常欢迎大家能分享自己的文件处理器,让更多的开发者受益。 #### 在文始集团一个常用的处理器是,把文件上传到微软云,这个处理器的使用也很简单: 1、通过composer 引入 `wslibs/cloud_upload` 2、在入口文件设置微软云相关操作 ```php wslibs\cloud_upload\CloudFileUploaderManager::init(array $cloud_chunchu_config = [] ) ```