[введите описание изображения здесь] [1] не так ли?но это не удаление изображения, хотя оно хранит изображение
, если это не так, то как я могу переопределить публичный путь в контроллере?
отредактировано (как предложено): я добавилновый диск "public" в моем filesystem.php и контроллер, модифицированный путем добавления фасада Storage.
в моем controller.php
public function update(Request $request, $userId)
{
$oldFileName='';
$filenameToStore='';
//saving the user
$user=User::find($userId);
$user->first_name = $request->input('first_name');
//for the image
if ($request->hasFile('user_image')) {
$image = $request->file('user_image');
//get filename
$filenameToStore= $image->getClientOriginalName();
$location = public_path('chbea/users/images/' .$filenameToStore);
Image::make($image)->save($location);
$oldFileName =$user->user_image;
Storage::disk('public')->delete('chbea/users/images/'.
$oldFileName);
//saving user image name
$user->user_image = $filenameToStore;
}
$user->save();
Session::flash('success', 'The Student Details was Updated!');
return redirect()->route('students.index');
}
в моем filesystems.php
<?php
return [
'default' => env('FILESYSTEM_DRIVER', 'local'),
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
'disks' => [
'local' => [
'driver' => 'local',
'root' => public_path('images/'),
],
'public' => [
'driver' => 'local',
'root' => public_path(),
],
/*'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],*/
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
],
];
и когда я получаю вывод, путь не является намеченным.
dd(Storage::disk('public'),
Storage::disk('public')>path('chbea/users/images/'.$oldFileName),
Storage::disk('public')->exists('chbea/users/images/'.$oldFileName)
[enter image description here][1]);
Вот вывод https://i.stack.imgur.com/euVWR.png