protected function upload($file, $i) { $fileName = date('His.dmY') . '.' . $i . '.jpg'; $image = new Image(); $image->setFile($file); $image->setPath($this->path); $image->upload(Image::LARGE . "{$fileName}"); $image->fit(Image::MEDIUM)->upload(Image::MEDIUM . "{$fileName}"); $image->fit(Image::SMALL)->upload(Image::SMALL . "{$fileName}"); return $fileName; }
/** * Update the resource in storage. * * @param Request $request * @return Response */ public function update(Request $request) { $banner = Banner::find(1); $data = $request->all(); $data['images'] = $banner->images ? $banner->images : []; $i = 0; $files = json_decode($data['files_deleted']); foreach ($files as $file) { if (($key = array_search($file, $data['images'])) !== false) { unset($data['images'][$key]); $image = new Image(); $image->setPath($this->path); $image->delete($file); } } foreach ($_FILES['images']['tmp_name'] as $tmpPath) { if (!empty($tmpPath)) { $fileName = date('His.dmY') . '.' . $i++ . '.jpg'; $image = new Image(); $image->setFile($tmpPath); $image->setPath($this->path); $image->fit(Image::BANNER)->upload($fileName); array_push($data['images'], $fileName); } } // Hàm unset() khiến key của array ko còn là dãy số liên tiếp // Lúc này Laravel sẽ ko đối xử và lưu 'images' như kiểu array mà là kiểu Json, cần sửa chữa vấn đề này $data['images'] = array_values($data['images']); $banner->fill($data)->save(); return Redirect::back()->with('flash_message', Lang::get('system.update')); }
/** * Update the specified resource in storage. * * @param CompanyRequest $request * @return JsonResponse */ public function update(CompanyRequest $request) { $data = $request->only('title', 'short_description', 'description'); if (!empty($_FILES['avatar']['tmp_name'])) { $path = config('image.paths.company'); $fileName = Auth::user()->id . '.' . date('His.dmY') . '.jpg'; $image = new Image(); $image->setFile($_FILES['avatar']['tmp_name']); $image->setPath($path); $image->fit(Image::MEDIUM)->upload($fileName); if (!empty(Auth::user()->company->avatar)) { $image->delete(Auth::user()->company->avatar); } $data['avatar'] = $fileName; } Auth::user()->company->update($data); return redirect('m/agency/create')->with('flash_message', Lang::get('system.update')); }
/** * Update the password in storage. * * @param ProfileRequest $request * @return Response */ public function update(ProfileRequest $request) { $data = $request->all(); if (!empty($_FILES['avatar']['tmp_name'])) { $path = config('image.paths.user') . '/' . Auth::user()->id; $fileName = date('His.dmY') . '.jpg'; $image = new Image(); $image->setFile($_FILES['avatar']['tmp_name']); $image->setPath($path); $image->fit(Image::AVATAR)->upload($fileName); if (!empty(Auth::user()->avatar)) { $image->delete(Auth::user()->avatar); } Auth::user()->update(['name' => $data['name'], 'email' => $data['email'], 'avatar' => $fileName]); } else { Auth::user()->update(['name' => $data['name'], 'email' => $data['email']]); } $profile = Auth::user()->profile()->first(); $profile->fill($data)->save(); return redirect('m/user/profile/')->with('flash_message', Lang::get('system.update')); }