php - 限制为特定用户上传的文件数量
问题描述
在我的属性部分,我有两种属性类型:
- 免费增值
- 优质的
我想限制用户为免费增值属性类型仅上传 5 张图像,而对于高级属性,用户可以上传不定式数字图像和视频。
必须需要一些建议。
这是我的图片上传部分:
public function postProperty(PropertyRequest $request)
{
$user = User::where('id', $request->user->user_id)->first();
if(!empty($user))
{
$data['user_id'] = $user->id;
$data['type'] = $request->type;
$data['category'] = $request->category;
$data['area'] = $request->area;
$data['price'] = $request->price;
$data['description'] = $request->description;
//dd($data);
$property = Property::create($data);
//$property['flag'] = false; // if (flag = false, property = freemium) else (flag = true, property = premium ))
$urls = new PropertyImage();
if ($request->hasFile('url'))
{
$files = $request->file('url');
foreach($files as $file)
{
$mime = $file->getMimeType();
//$property['flag'] = $property->account == 1 ? false : true;
if($mime == 'image/jpeg')
{
$fileName = $file->getClientOriginalName();
$destinationPath = public_path() . '/images/';
$file->move($destinationPath, $fileName);
$urls->url = '/public/images/' . $fileName;
$url_data = [
'property_id' => $property->id,
'url_type' => 1,
'url' => $urls->url,
];
$urls->create($url_data);
}
elseif($mime == 'video/mp4')
{
$fileName = $file->getClientOriginalName();
$destinationPath = public_path() . '/videos/';
$file->move($destinationPath, $fileName);
$urls->url = '/public/videos/' . $fileName;
$url_data = [
'property_id' => $property->id,
'url_type' => 2,
'url' => $urls->url,
];
$urls->create($url_data);
}
}
}
return Utility::renderJson(trans('api.success'), true, $property, $urls );
}
}
解决方案
You can use laravel validation to restrict user to some number of files as shown below
//If user is Freemium then restrict him
if (!$property['flag']) {
$messages = [
"url.max" => "files can't be more than 3."
];
$this->validate($request, [
'url' => 'max:3',
],$messages);
}
推荐阅读
- amazon-web-services - 访问资源 https://sqs.us-east-1.amazonaws.com/ 被拒绝
- vue.js - 如何在 Vue.js 中实现基于会话 cookie 的身份验证?
- java - 我无法在活动的片段中填充 recyclerview
- python - 在没有 .kv 文件的情况下使用屏幕管理器的一些问题
- php - PHP 在几分钟后停止
- html - 以角度 2 解析 json 并显示正确的 html 元素
- python - 使用数据集的一部分来训练我的模型有意义吗?
- html - CSS 媒体查询不适用于 Ipad 设备
- python - 无法在 pandas NamedAgg 函数中使用 lambda 函数
- android - Flutter:尝试在 android 上使用 map_view 显示交互式地图时应用程序崩溃