protected function imageAvatar() { $path = 'upload/' . date('Ym/d/'); $filename = KRandom::getRandStr() . '.jpg'; if (!File::exists(public_path($path))) { File::makeDirectory(public_path($path), 493, true); } while (File::exists(public_path($path) . $filename)) { $filename = KRandom::getRandStr() . '.jpg'; } $this->image->resize(new \Imagine\Image\Box(300, 300))->save(public_path($path) . $filename); ImageModel::createUploadedImage($path . $filename, URL::asset($path . $filename)); $user = AuthModel::user(); $url = URL::asset($path . $filename); if ($user) { if ($user->profile) { $user->profile->avatar = $url; $user->profile->save(); } else { ProfileModel::create(array('user_id' => $user->id, 'avatar' => $url)); } } else { } return $url; }
/** * 更新多图 */ public function updateMultiImages(array $urls) { ImageModel::unlinkAllImages($this); $order = 1; $images = []; foreach ($urls as $url) { $images[] = ImageModel::linkUploadedImage($this, $url, $order); $order++; } return $images; }
protected function assignImage($items) { foreach ($items as $item) { if (method_exists($item, 'updateImage')) { $image = ImageModel::where('imageable_id', '0')->take(80)->get()->toArray(); $image = $image[array_rand($image, 1)]; $item->updateImage($image['url']); } if (method_exists($item, 'updateMultiImages')) { $images = ImageModel::where('imageable_id', '0')->take(80)->get()->toArray(); $rands = array_rand($images, 2); $urls = []; foreach ($rands as $rand) { $urls[] = $images[$rand]['url']; } $item->updateMultiImages($urls); $this->command->info('updated image of ' . $item->getMorphClass() . '@' . $item->id); } } }
/** * 更新单图 * @param $url * @return \Illuminate\Database\Eloquent\Collection|static[] */ public function updateImage($url) { return ImageModel::linkUploadedImage($this, $url, 0); }