удалить предыдущее изображение в папке, когда пользователь загружает новое изображение laravel - PullRequest
0 голосов
/ 18 сентября 2018

profileController.php

--- когда пользователь загружает новое изображение, я хочу удалить предыдущее изображение в папке ... я использую Laravel .....

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class ProfileController extends Controller
{
    public function index($slug){

        return view('profile.index')->with('data', Auth::user()->profile);
    }


    public function uploadPhoto(Request $request) {

$file = $request->file('pic');
$filename = $file->getClientOriginalName();
$path = 'storage/img';

$file->move($path, $filename);
$user_id = Auth::user()->id;

DB::table('users')->where('id',$user_id)->update(['pic' =>$filename]);

return redirect('/editProfile')->withSuccess('Your image was successful.');

}

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Перед обновлением вы можете получить доступ к старой картинке с помощью

Auth::user()->pic
0 голосов
/ 18 сентября 2018

Вам необходимо получить текущий путь к изображению пользователя, прежде чем обновлять его новым.Так что вы можете использовать этот старый путь для удаления файла изображения.

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class ProfileController extends Controller
{
    public function index($slug){

        return view('profile.index')->with('data', Auth::user()->profile);
    }


    public function uploadPhoto(Request $request) {

// Uplaod new image
$file = $request->file('pic');
$filename = $file->getClientOriginalName();
$path = 'storage/img';
$file->move($path, $filename);
$user_id = Auth::user()->id;


// Get current image of user, then delete it
$user = User::find(Auth::user()->id);
File::delete($user->pic);


// Then update profile picture column in database
DB::table('users')->where('id',$user_id)->update(['pic' =>$filename]);

return redirect('/editProfile')->withSuccess('Your image was successful.');

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...