Laravel не может загрузить файл в папку хранения

Раньше я хранил свои файлы загрузки (изображения) в своей общей папке, но на этот раз я хочу сохранить их в своей папке хранилища и получаю эту ошибку

Can't write image data to path (C:\laragon\www\mynewsite\storage\images/aboutimage-1522481830.png)

Ошибка исходит из этой строки (где я использую пакет вмешательство / изображение)

Image::make($image)->resize(1200, 600)->save($location);

Моя функция:

if ($request->hasFile('image')) {
        $image = $request->file('image');
        $filename = 'aboutimage' . '-' . time() . '.' . $image->getClientOriginalExtension();
        $location = storage_path('images/' . $filename);
        Image::make($image)->resize(1200, 600)->save($location);

        $oldFilename = $indexabout->image;
        $indexabout->image = $filename;
        Storage::delete($oldFilename);
}

любая идея?

ОБНОВИТЬ

Мои файлы будут загружаться в папку root/storage вместо root/storage/app/public/images

это почему?

Обновление 2

Я изменил свою функцию на код ниже, и он загружается туда, где должен загружать, но it does not delete the old image

if ($request->hasFile('image')) {
            $image = $request->file('image');
            $filename = '/aboutimage' . '-' . time() . '.' . $image->getClientOriginalExtension();
            $location = storage_path('app/public/images' . $filename);
            Image::make($image)->resize(1200, 600)->save($location);

            $oldFilename = $indexabout->image;
            $indexabout->image = $filename;
            Storage::delete($oldFilename);
}

Попробуй этот $location = storage_path('/images/' . $filename);

Nawin 31.03.2018 09:56

@Nawin все еще загружается в папку хранения: /

mafortis 31.03.2018 09:57

Какой путь к вашему хранилищу возвращает и распечатайте переменную $location

Nawin 31.03.2018 09:59

как мне получить то, что он напечатал?

mafortis 31.03.2018 10:01

дает мне C:\laragon\www\mynewsite\storage\imagesaboutimage-1522483434‌​.png"

mafortis 31.03.2018 10:04

Измените свою строчку вот так $filename = '\aboutimage' . '-' . time() . '.' . $image->getClientOriginalExtension();

Nawin 31.03.2018 10:06

@Nawin обновлен.

mafortis 31.03.2018 10:11

он найдет имя изображения в базе данных и сообщит Storage::delete(, какой файл нужно удалить.

mafortis 31.03.2018 10:16

Вам нужно сначала объявить эту строку $indexabout->image = $filename;, а не эту строку $oldFilename = $indexabout->image;

Nawin 31.03.2018 10:21

@Nawin Уже без разницы.

mafortis 31.03.2018 10:22

echo Your $oldFilename

Nawin 31.03.2018 10:28
aboutimage-1522485196.png, который является столбцом image в моей базе данных, поэтому его нужно удалить и заменить новым именем фотографии.
mafortis 31.03.2018 10:34

Значит, вам нужно удалить старый файл в БД или в папке?

Nawin 31.03.2018 10:42

@Nawin решил, братан, спасибо.

mafortis 31.03.2018 10:46

Добро пожаловать, братан :)

Nawin 31.03.2018 10:47
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
15
2 743
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решено

вот окончательный код:

if ($request->hasFile('image')) {
            $image = $request->file('image');
            $filename = 'aboutimage' . '-' . time() . '.' . $image->getClientOriginalExtension();
            $location = storage_path('app/public/images/' . $filename); // root storage path
            Image::make($image)->resize(1200, 600)->save($location);

            Storage::delete('images/' . $indexabout->image); //public storage path
            $indexabout->image = $filename;            
        }

В основном я указал путь Root/Storage для хранения данных и путь Public/Storage для их удаления в методе обновления.

Другие вопросы по теме