vendredi 19 octobre 2018

How to Update Image from Uploads table in Laravel 5.6?

I am working with Laravel 5.6 and MySQL DB. in My app I have images vaving function like this,

 public function store(Request $request)
        {
    $photos = $request->file('files');

            if (!is_array($photos)) {
                $photos = [$photos];
            }

            if (!is_dir($this->photos_path)) {
                mkdir($this->photos_path, 0777);
            }

            for ($i = 0; $i < count($photos); $i++) {
                $photo = $photos[$i];
                $name = sha1(date('YmdHis') . str_random(30));
                $save_name = $name . '.' . $photo->getClientOriginalExtension();
                $resize_name = $name . str_random(2) . '.' . $photo->getClientOriginalExtension();

                Image::make($photo)
                    ->resize(250, null, function ($constraints) {
                        $constraints->aspectRatio();
                    })
                    ->save($this->photos_path . '/' . $resize_name);

                $photo->move($this->photos_path, $save_name);
                $upload = new Upload();
                $upload->filename = $save_name;
                $upload->resized_name = $resize_name;
                $upload->original_name = basename($photo->getClientOriginalName());

                $upload->save();
            }
        }

now I need update Uploads table records acording to the table id, my edit urls like this,

<a href="/myads//editimage">Edit Image</a>

and route is like this,

Route::post('myads/{id}/edit', [
    'uses' => '\App\Http\Controllers\ImageController@update',
    'as'=> 'images.edit'
]);

Then how can I develop update function in My Controller for updating existing table values like, filename,resized_name,original_name with including following codes also,

if (!is_array($photos)) {
                $photos = [$photos];
            }

            if (!is_dir($this->photos_path)) {
                mkdir($this->photos_path, 0777);
            }

            for ($i = 0; $i < count($photos); $i++) {
                $photo = $photos[$i];
                $name = sha1(date('YmdHis') . str_random(30));
                $save_name = $name . '.' . $photo->getClientOriginalExtension();
                $resize_name = $name . str_random(2) . '.' . $photo->getClientOriginalExtension();

                Image::make($photo)
                    ->resize(250, null, function ($constraints) {
                        $constraints->aspectRatio();
                    })
                    ->save($this->photos_path . '/' . $resize_name);



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire