Файл не загружается в Интернете (офлайн / локальные работы) -- php поле с участием laravel пол Связанный проблема

File not being uploaded online (offline/local works)


0
vote

проблема

русский

Чехол: Загрузка аватаров. Это работает в автономном режиме на моем localhost, но после того, как поместил его онлайн в 000webhost Provider, это больше не работает. Файл не загружен, но Laravel не возвращает никакой ошибки. Любая идея, чтобы решить это? Спасибо.

Это мой контроллер:

 <код>    if ($request->hasFile('avatar'))             {                 $user = User::find(Auth::user()->id);                 $avatar = $request->file('avatar'); // in here                  $filename = time() . '.' . $avatar->getClientOriginalName();                 $path = base_path();                 $path = str_replace("gsm-cp","public_html",$path);                 $destinationPath = $path.'/img/avatars';                 $avatar->move($destinationPath, $filename);                 $user->avatar = $filename;                   $user->save();                                }   

Это мой конфигуратор / файлыstems.php

 <код> 'local' => [             'driver' => 'local',             'root' => storage_path('app'),         ],          'public' => [             'driver' => 'local',             'root' => storage_path('app/public'),             'url' => env('APP_URL').'/storage',             'visibility' => 'public',         ], ...   
Английский оригинал

Case: Uploading avatars. This is working offline on my localhost, but after putting it online to 000webhost hosting provider, this does not work anymore. The file is NOT being uploaded but Laravel does not returns any error. Any idea to solve this?Thankyou.

This is my controller:

   if ($request->hasFile('avatar'))             {                 $user = User::find(Auth::user()->id);                 $avatar = $request->file('avatar'); // in here                  $filename = time() . '.' . $avatar->getClientOriginalName();                 $path = base_path();                 $path = str_replace("gsm-cp","public_html",$path);                 $destinationPath = $path.'/img/avatars';                 $avatar->move($destinationPath, $filename);                 $user->avatar = $filename;                   $user->save();                                } 

This is my config/filesystems.php

'local' => [             'driver' => 'local',             'root' => storage_path('app'),         ],          'public' => [             'driver' => 'local',             'root' => storage_path('app/public'),             'url' => env('APP_URL').'/storage',             'visibility' => 'public',         ], ... 
</div
     
       
       

Список ответов

0
 
vote

Вы можете упростить свой код, используя <код> storeAs() , а также заменить <код> $user = User::find(Auth::user()->id); с <код> $user = Auth::user(); .

<Код> storeAs() принимает путь, имя файла для хранения и принимает необязательный массив, который может например, указать диск - здесь мы используем публику. Это будет хранить изображения в ./storage/app/public/avatars/1597750757_1.jpg для пользователя с ID 1.

 <Код> if ($request->hasFile('avatar')) {     $user = Auth::user();     $avatar = $request->file('avatar');     $filename = time().'_'.$user->id.'.'.$file->getClientOriginalExtension();     $path = $avatar->storeAs("/avatars/", $filename, ['disk' => 'public']);     $user->avatar = $filename;     $user->save(); }   

Вы можете альтернативно, хотите сохранить путь, а не просто имя файла. Метод <код> storeAs() возвращает полный путь к изображению (включая его имя).

    .
  • Документы хранения файлов
 

You can simplify your code by using storeAs(), as well as replacing $user = User::find(Auth::user()->id); with $user = Auth::user();.

storeAs() takes a path, the filename to store, and takes an optional array, which can for example specify the disk -- here, we're using the public one. This would store the images in ./storage/app/public/avatars/1597750757_1.jpg for user with ID 1.

if ($request->hasFile('avatar')) {     $user = Auth::user();     $avatar = $request->file('avatar');     $filename = time().'_'.$user->id.'.'.$file->getClientOriginalExtension();     $path = $avatar->storeAs("/avatars/", $filename, ['disk' => 'public']);     $user->avatar = $filename;     $user->save(); } 

You may alternatively want to store down the path, and not just the filename. The storeAs() method returns the full path to the image (including its name).

  • File Storage docs
</div
 
 
 
 

Связанный проблема

1  Разбор XML-документа с PHP с использованием петли «Foreach»  ( Parsing xml document with php using foreach loop ) 
Я новичок в php, mysql и xml ... и пытался обернуть голову вокруг классов, объектов, массивов и петель. Я работаю над анализатором, который извлекает данные и...

1  Yii с расширением загрузки, псевдоним «Bootstrap.widgets.tbnavbar» недействителен. Убедитесь, что он указывает на существующий файл PHP  ( Yii with bootstrap extension alias bootstrap widgets tbnavbar is invalid make ) 
Я пытаюсь использовать Расширение Bootstrap с Yii, но я продолжаю получать Ошибка, упомянутая в заголовке, я дважды проверил мой файл конфигурации, но я не ...

5  Экспорт SVG в PDF в автономном TideSDK WebApp  ( Exporting svg to pdf in a offline tidesdk webapp ) 
У меня есть приложение Offline HTML5 / CSS / JS, построенное с TIDESDK, в котором гистограмма нарисована с HighCharts в качестве SVG «Tag», используя данные, ...

0  Как я могу надежно разрешить веб-пользователям создавать файлы?  ( How can i securely allow web users to create files ) 
Я строю веб-сайт, который позволяет определенным пользователям писать отзывы, и я хочу автоматически генерироваться небольшой PHP-файл, когда они делают. Како...

0  PHP Уведомление: undefined Holvil: stdclass:  ( Php notice undefined property stdclass ) 
У меня есть массив, возвращаясь из флэш-приложения, созданного в Flash Builder 4. У меня есть настройка службы, которые запросили и получают данные от DB, о...

1  add_menu_page не добавляет никаких страниц в WordPress  ( Add menu page doesnt add any pages in wordpress ) 
Я не могу понять, почему мой код не работает. Я разрабатываю плагин в WordPress, и я хочу иметь страницу на панели администратора. Я попробовал этот код, поло...

1  Как мне позвонить сценарий Perl с моим контроллером Symfony2?  ( How do i call a perl script from my symfony2 controller ) 
Я пытаюсь реализовать автоматическую отправку в систему управления информацией из-за моего приложения Symfony2. Кто-то еще написал сценарий Perl для представл...

13  Отфильтровать номера в строке в PHP  ( Filter out numbers in a string in php ) 
Предполагая, что у меня есть эти тексты 'x34', '150px', '650dpi', 'E3R4T5' ... Как я могу получить только номера? Я имею в виду, я хочу 34, 150, 650, 345 без ...

0  Вставить арабский с помощью PDO не работает  ( Insert arabic using pdo is not working ) 
Я очень глубоко укорую в этом и посмотрите много вопросов, и это не работает Каждый раз, когда я пытаюсь вставить арабский, он показывает так (?????) <Сильн...

1  Транзакции mysql и php  ( Transactions mysql and php ) 
Я запутался ABT работает транзакциями через PHP-скрипт. В моем MySQL AutoCommit устанавливается на 1, Тем не менее, когда я запускаю скрипт ex: mysql_query ...

1  PHP: профилированный код и строгая среда ~ улучшение моего кодирования  ( Php profiling code and strict environment improving my coding ) 
Я хотел бы обновить свою локальную рабочую среду, чтобы быть более строгим, чтобы улучшить мой код. Я знаю, что мой код в порядке, но как с большинством вещей...

0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя?  ( Limiting a results flickr api to avoid duplicate photos from a user ) 
пытается выводить изображения Flickr из определенного местоположения, не используя ни одного геолокации, но только строка местоположения, но это проблема для ...

2  Найти реалированные данные таблицы1 в Таблице2  ( To find realted data of table1 in table2 ) 
Table1 имеет некоторые данные как категории Table2 имеет некоторые данные, которые реализуются в категориях Table1 и соотношение между двумя таблицами...

-1  PHP возвращает неправильную строку в MySQLI подготовленной статусы  ( Php returning wrong row in mysqli prepared statment ) 
Я пытаюсь создать тщеславие URL для моего сайта, и на данный момент есть только одно имя пользователя в базе данных, которые можно ссылаться. Мой запрос верне...

1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для  ( Symfony 3 4 3 service container error requires that you provide a value for t ) 
Я потратил много времени, но я не решил это Я хотел бы пройти в LoggerInterface в действии моего контроллера Вот мой Service.yml <код> # Learn more about ...

Связанный проблема

1  Разбор XML-документа с PHP с использованием петли «Foreach» 
1  Yii с расширением загрузки, псевдоним «Bootstrap.widgets.tbnavbar» недействителен. Убедитесь, что он указывает на существующий файл PHP 
5  Экспорт SVG в PDF в автономном TideSDK WebApp 
0  Как я могу надежно разрешить веб-пользователям создавать файлы? 
0  PHP Уведомление: undefined Holvil: stdclass: 
1  add_menu_page не добавляет никаких страниц в WordPress 
1  Как мне позвонить сценарий Perl с моим контроллером Symfony2? 
13  Отфильтровать номера в строке в PHP 
0  Вставить арабский с помощью PDO не работает 
1  Транзакции mysql и php 
1  PHP: профилированный код и строгая среда ~ улучшение моего кодирования 
0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя? 
2  Найти реалированные данные таблицы1 в Таблице2 
-1  PHP возвращает неправильную строку в MySQLI подготовленной статусы 
1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для