当前位置: 首页 > 后端技术 > PHP

一个php的文件上传类,可以自定义上传驱动

时间:2023-03-29 22:59:37 PHP

没有依赖任何框架的功能,所以所有的框架都基本兼容目前测试的框架thinkphp全家桶和laravel框架。github地址:https://github.com/tp5er/fileinstallcomposerrequiretp5er/filedev-masterfileupload$file=$_FILES['image'];$path='./uploads';$info=(new\tp5er\FileApp())->fileupload($file,$path);//输出jpgecho$info->getExtension();//输出ea307c4cdc7f7e91e8578caad1db1240.jpgecho$info->getFilename();安全检查$info=(new\tp5er\FileApp())->fileupload($file,$path,['type'=>"image/png",'size'=>15678,'ext'=>'jpg,png,gif']);COS上传//首先安装composer需要qcloud/cos-sdk-v5上传方式$info=(new\tp5er\FileApp(new\tp5er\drive\Cos(['SecretId'=>'','SecretKey'=>"",'bucket'=>"",'region'=>''])))->fileupload($file,$path);自定义上传驱动(COS)官方文档:https://cloud.tencent.com/doc...包地址:https://packagist.org/package...安装composer需要qcloud/cos-sdk-v5接口实现class$region,'schema'=>'https','credentials'=>['secretId'=>$secretId,'secretKey'=>$秘密密钥]]);$key=$全名;$body=file_get_contents($file['tmp_name']);$result=$cosClient->putObject(array('Bucket'=>$bucket,'Key'=>$key,'Body'=>$body));if(!isset($result['Location'])&&!isset($result['Key'])){trigger_error("上传写入错误");返回假;}返回真;}catch(Exception$exception){thrownew\Exception($exception);}}}传入接口实现类实现上传功能$info=(new\tp5er\FileApp(new\Cos()))->fileupload($file,$path);官方sdk汇总阿里云osshttps://help.aliyun.com/docum...七牛云https://developer.qiniu.com/k...京东云https://docs.jdcloud.com/中/外...