✏️ 编辑:MediaController.php
路径:
/home/boguraj1/.trash/app.1/Http/Controllers/Admin/MediaController.php
大小:2.32 KB · 修改:2026-07-17 22:06:24 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Media; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; class MediaController extends Controller { public function index(Request $request) { $query = Media::latest(); if ($request->filled('q')) { $query->where('title', 'like', '%' . $request->q . '%') ->orWhere('original_name', 'like', '%' . $request->q . '%'); } $media = $query->paginate(24)->withQueryString(); return view('admin.media.index', compact('media')); } public function store(Request $request) { $request->validate([ 'files' => 'required|array|max:20', 'files.*' => 'required|file|mimes:jpg,jpeg,png,webp,gif,svg|max:10240', ]); $uploaded = []; foreach ($request->file('files') as $file) { $name = Str::uuid() . '.' . $file->getClientOriginalExtension(); $path = $file->storeAs('media', $name, 'public'); $uploaded[] = Media::create([ 'original_name' => $file->getClientOriginalName(), 'path' => $path, 'mime_type' => $file->getMimeType(), 'size' => $file->getSize(), 'title' => pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME), ]); } if ($request->expectsJson()) { return response()->json([ 'success' => true, 'count' => count($uploaded), 'items' => collect($uploaded)->map(fn($m) => [ 'id' => $m->id, 'url' => $m->url, 'title' => $m->title, ]), ]); } return back()->with('success', count($uploaded) . 'টি ছবি আপলোড হয়েছে।'); } public function update(Request $request, Media $medium) { $request->validate(['title' => 'required|string|max:200']); $medium->update(['title' => $request->title]); return response()->json(['success' => true]); } public function destroy(Media $medium) { $medium->delete(); return response()->json(['success' => true]); } }
💾 保存
取消
保存为 UTF-8,换行统一为 LF