thinkPHP5.0上传

该代码段定义了一个上传函数,用于处理文件上传。它设置无时间限制和内存限制,检查文件大小不超过20MB且仅接受xls/xlsx格式。文件会被移动到指定路径,并返回文件名、保存路径、URL和状态码等信息。
// 上传
function upload()
{
	set_time_limit(0);
	ini_set("max_execution_time", 0);
	ini_set("memory_limit", -1);

	$name = trim(input("name")); //获取文件名
	$file = request()->file("file"); //获取上传的文件
	if (!$file) {
		$res["msg"] = "文件大小超限";
		$res["code"] = 1;
		return json($res);
	}

	$file->checkSize(20000000); //限制大小
	$file->checkMime(explode("|", "xls|xlsx")); //限制后缀

	$path_ul = "./Uploads/file/"; //移动到框架应用根目录/public/Uploads/目录下
	$info = $file->move($path_ul);
	if (!$info) {
		$res["msg"] = $file->getError();
		$res["code"] = 1;
		return json($res);
	}

	if (!$name) {
		$name = $info->getInfo("name"); //获取原始文件名
	}

	$path = $info->getSaveName();
	$path = str_replace("\\", "/", $path); //\(反斜杠)替换为/(斜杠)
	$path = ltrim($path_ul, ".") . ltrim($path, "/");
	$urls = request()->domain() . $path;

	$res = [];
	$res["name"] = $name;
	$res["path"] = $path;
	$res["urls"] = $urls;
	$res["field"] = $path . "|" . $name;
	$res["code"] = 0;
	return json($res);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值