/
home
/
old_henza
/
server
/
app
/
Http
/
Controllers
/
Adm
/
File Upload :
llllll
Current File: /home/old_henza/server/app/Http/Controllers/Adm/FileController.php
<?php namespace App\Http\Controllers\Adm; use App\DB\File; use App\Http\Controllers\Controller; //use Buglinjo\LaravelWebp\Facades\Webp; //use FFMpeg\Coordinate\TimeCode; //use FFMpeg\FFMpeg; //use FFMpeg\FFProbe; //use FFMpeg\Media\Video; //use App\Models\Image; use App\Models\Image; use Illuminate\Http\Request; use Illuminate\Support\Arr; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; //use Intervention\Image\Facades\Image; class FileController extends Controller { /** * make directory in Public Storage By Date * * @return string */ protected function createDir(){ $now = Verta(); $path = preg_replace('/-/', '/', $now->formatDate()); if(!Storage::exists($path)){ Storage::makeDirectory($path); Storage::makeDirectory($path.'/'.'thumb'); } return $path; } /** * Display a listing of the files. * * @return \Illuminate\Http\Response */ public function index() { return response()->json(File::where('customer_id',auth('customer')->id())->get()); } /** * Store a newly created file in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\jsonResponse */ public function store(Request $request) { // Store FIle in Public Storage By Date // Date Sample is : <Year>/<Month>/<Day> of today $config = Arr::get(config(),'image',false); $data = $request->data ; $path = $this->createDir(); $data['original_name'] = $request->file('data.file')->getClientOriginalName(); $data['ext'] = $request->file('data.file')->getClientOriginalExtension(); if (!isset($data['title']) || is_null($data['title'])){ $data['title'] = $data['original_name'] ; } $file_name_src = md5(time().$data['original_name']); $file_name = $file_name_src . '.'.$data['ext']; if ($data['type'] == 1){ if ($data['ext'] != 'pdf' || $data['ext'] != 'gif'){ $file_name = $file_name_src . '.webp'; $image = Intervention\Image\Facades\Image::make($request->file('data.file'))->encode('webp', 90); if ($data['has_watermark'] ){ $image->insert(public_path('water mark.png'),'bottom-right'); } $image->save(public_path('storage/'.$path.'/'.$file_name)); if($data['has_thumb']){ if(Arr::get($config ,'small_size' ,false )){ $image_thumb = Intervention\Image\Facades\Image::make($request->file('data.file'))->resize(config('image.small_size'),config('image.small_size')); $image_thumb->save(public_path('storage/'.$path.'/'.'thumb'.'/'. $file_name)); } } }else{ $file = $request->file('data.file'); $data['has_thumb'] = false; $file->move(public_path('storage/'.$path.'/'),$file_name); } }elseif ($data['type'] == 2){ $file = $request->file('data.file'); $data['has_thumb'] = false; $file->move(public_path('storage/'.$path.'/'),$file_name); // $ffmpeg = FFMpeg::create(array( // 'ffmpeg.binaries' => 'D:/ffmpeg/ffmpeg/bin/ffmpeg.exe', // 'ffprobe.binaries' => 'D:/ffmpeg/ffmpeg/bin/ffprobe.exe', // 'timeout' => 3600, // The timeout for the underlying process // 'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use // )); // $video = $ffmpeg->open(public_path('storage/'.$path.'/'.$file_name)); // $video->frame(TimeCode::fromSeconds(10)) // ->save(public_path('storage/'.$path.'/'.$file_name_src.'.jpg')); // $data['thumb_video'] = 'storage/'.$path.'/'. $file_name_src.'.jpg' ; // $frame = Video::frame(TimeCode::fromSeconds(42)); // $frame->save('storage/'.$path.'/'. $file_name_src.'.jpg'); $ffmpeg = FFMpeg::create(array( 'ffmpeg.binaries' => '/usr/bin/ffmpeg', 'ffprobe.binaries' => '/usr/bin/ffprobe', 'timeout' => 3600, // The timeout for the underlying process 'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use )); $video = $ffmpeg->open(public_path('storage/'.$path.'/'.$file_name)); $video->frame(TimeCode::fromSeconds(2)) ->save(public_path('storage/'.$path.'/'.$file_name_src.'.jpg')); $data['thumb_video'] = 'storage/'.$path.'/'. $file_name_src.'.jpg' ; }else { $file = $request->file('data.file'); $data['has_thumb'] = false; $file->move(public_path('storage/'.$path.'/'),$file_name); } $data['src'] = 'storage/'.$path.'/'. $file_name ; $data['size'] = Storage::size($path.'/'.$file_name) ; $data['customer_id'] = auth('customer')->id(); $data['sts'] = 1; $file_create = File::create($data); return response()->json($file_create); } /** * Store a newly created file in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\jsonResponse */ public function storeWithoutData(Request $request) { // Store FIle in Public Storage By Date // Date Sample is : <Year>/<Month>/<Day> of today //$config = Arr::get(config(),'image',false); $data = $request->all() ; //$path = $this->createDir(); $data['original_name'] = $request->file('file')->getClientOriginalName(); $data['ext'] = $request->file('file')->getClientOriginalExtension(); /*if (!isset($data['title']) || is_null($data['title'])){ $data['title'] = $data['original_name'] ; }*/ $file_name_src = md5(time().$data['original_name']); $file_name = $file_name_src . '.'.$data['ext']; /* if ($data['type'] == 1){ if ($data['ext'] != 'pdf'){ $file_name = $file_name_src . '.webp'; $image = Image::make($request->file('file'))->encode('webp', 90); if ($data['has_watermark'] ){ $image->insert(public_path('water mark.png'),'bottom-right'); } $image->save(public_path('storage/'.$path.'/'.$file_name)); }else{ $file = $request->file('file'); $data['has_thumb'] = false; $file->move(public_path('storage/'.$path.'/'),$file_name); } }elseif ($data['type'] == 2){ $file = $request->file('file'); $data['has_thumb'] = false; $file->move(public_path('storage/'.$path.'/'),$file_name); }else { }*/ $file = $request->file('file'); //$data['has_thumb'] = false; $file->move(public_path('storage'),$file_name); $data['image'] = $file_name ; //$data['size'] = Storage::size($file_name) ; //$data['customer_id'] = auth('customer')->id(); //$data['sts'] = 1; $file_create = \App\Models\Image::create($data); return response()->json($file_create); } /** * Display the specified fil. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $file = File::findOrFail($id); return response()->json($file); } /** * Update the specified file in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $file = File::findOrFail($id) ; $data = $request->data ; $config = config('image'); $path = $this->createDir(); $data['original_name'] = $request->file('data.file')->getClientOriginalName(); $data['ext'] = $request->file('data.file')->getClientOriginalExtension(); if (!isset($data['title']) || is_null($data['title'])){ $data['title'] = $data['original_name'] ; } $file_name = md5(time().$data['original_name']).'.'.$data['ext']; $image = Intervention\Image\Facades\Image::make($request->file('data.file')); if ($data['has_watermark'] && Arr::get($config ,'water_mark' ,false )){ $image->insert(Storage::disk('public')->get('water mark.png'),'bottom-right'); } $image->save(public_path('storage/'.$path.'/'.$file_name)); if($data['has_thumb']) { if (Arr::get($config, 'small_size', false)) { $image_thumb = Intervention\Image\Facades\Image::make($request->file('data.file'))->resize(config('image.small_size'), config('image.small_size')); $image_thumb->save(public_path('storage/' . $path . '/' . 'thumb' . '/' . $file_name)); } } $data['src'] = 'storage/'.$path.'/'. $file_name ; $data['size'] = Storage::size($path.'/'.$file_name) ; $data['sts'] = 1; $file->update($data); $this->createLog('ایجاد یک فایل توسط مشتری',1,['id'=>$file->id],null,auth('customer')->id()); return response()->json($file); } /** * Remove the specified file from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $file = File::findOrFail($id); $src = substr($file->src,strpos($file->src,'storage')+8,strlen($file->src)); $file->delete(); Storage::delete($src); if ($file->has_thumb){ $src = substr($file->thumb,strpos($file->thumb,'storage')+8,strlen($file->thumb)); Storage::delete($src); } return response()->json(true); } public function updateBody(Request $request, $id){ $file = Image::findOrFail($id)->update(['body'=>$request->body]); return response()->json(true); } }
Copyright ©2k19 -
Hexid
|
Tex7ure