thinkPHP5——后端之文件上传
程序员文章站
2022-06-02 23:27:37
...
所需文件:
文件上传代码:
namespace app\index\controller;
use think\Controller;
class Lib extends Controller{
/**
* 文件上传
*/
public function upload(){
//print_r($_SERVER);//查询当前服务器信息
//接收文件流数据
$file = request()->file('image');
if (empty($file)) {
return json(['code'=>400,'msg'=>'请选择上传文件']);
}
//整理路径/文件名
// 转化文件名字符
$savename = iconv("UTF-8", "gbk",$file->getInfo()['name']);
//移动到框架应用根目录/public/uploads/ 目录下
//保存文件
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads',$savename);
//返回文件路径
$data = 'http://'.$_SERVER['HTTP_HOST']. '/public/uploads/' . $file->getInfo()['name'];
if ($info) {
echo json_encode(['img'=>$data]);exit;
}
else {
//上传失败获取错误信息
return json(["code" => -4, "msg" => "文件上传失败", "data" => $file->getError()]);
}
}
查看是否能实现,可用postman软件:
上一篇: 关于递归调用,实现树形菜单的样式