Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][Laravel]Zmiana miejsca zapisu
Puchatek320
post 30.04.2020, 10:49:10
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 4.11.2019

Ostrzeżenie: (0%)
-----


Cześć,
Mam 2 pytania zaczynam w laravelu i zastanawia mnie w jaki sposób można wyjść storage/app


  1. 'disks' => [
  2.  
  3. 'local' => [
  4. 'driver' => 'local',
  5. 'root' => storage_path('app'),
  6. ],
  7.  
  8. 'public' => [
  9. 'driver' => 'local',
  10. 'root' => storage_path('app/public'),
  11. 'url' => env('APP_URL').'/storage',
  12. 'visibility' => 'public',
  13. ],
  14.  
  15. 's3' => [
  16. 'driver' => 's3',
  17. 'key' => env('AWS_ACCESS_KEY_ID'),
  18. 'secret' => env('AWS_SECRET_ACCESS_KEY'),
  19. 'region' => env('AWS_DEFAULT_REGION'),
  20. 'bucket' => env('AWS_BUCKET'),
  21. 'endpoint' => env('AWS_URL'),
  22. ],
  23.  
  24. ],
  25.  
  26. 'out' => [
  27.  
  28. 'localfile' => [
  29. 'driver' => 'local',
  30. 'root' => storage_path('../../'),
  31. ],
  32.  
  33. 'publicfile' => [
  34. 'driver' => 'local',
  35. 'root' => storage_path('filmy'),
  36. 'url' => env('APP_URL').'../../filmy/',
  37. 'visibility' => 'public',
  38. ],
  39.  
  40. 's3' => [
  41. 'driver' => 's3',
  42. 'key' => env('AWS_ACCESS_KEY_ID'),
  43. 'secret' => env('AWS_SECRET_ACCESS_KEY'),
  44. 'region' => env('AWS_DEFAULT_REGION'),
  45. 'bucket' => env('AWS_BUCKET'),
  46. 'endpoint' => env('AWS_URL'),
  47. ],
  48.  
  49. ],


  1. public function save(Request $request){
  2.  
  3. $path = $request->file('filename')->store('publicfile');
  4. return $path;
  5.  
  6. }


próbowałem z out ale coś źle robię, potrzebuje zapisać plik z formularza po za folderem strony obecnie zapisuje mi w strona/storage/app a chciałbym filmy/

mam jeszcze pytanie odnośnie blade a mianowicie w blade mam coś takiego:

  1. <select class="browser-default custom-select col-sm-5" name="katalog">
  2. <option></option>;
  3. <?php if ($handle = opendir('../filmy/')) {
  4. while (false !== ($file = readdir($handle))) {
  5. if ($file != "." && $file != "..") {
  6. echo "<option>".$file."</option>";
  7. }
  8. }
  9. closedir($handle);}?></select>


domyslam się że taką funkcję powinno się gdzieś implementować dobrze myślę? jeśli tak to w jaki sposób

Ktoś coś?

Ten post edytował Puchatek320 27.04.2020, 16:14:42
Go to the top of the page
+Quote Post
viking
post 30.04.2020, 11:25:12
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


APP_URL to adres domeny więc co ma dać adres np http://lolo.dev/../../filmy? Storage ma iteratory do listowania plików w katalogach.


--------------------
Go to the top of the page
+Quote Post
Puchatek320
post 30.04.2020, 13:20:07
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 4.11.2019

Ostrzeżenie: (0%)
-----


strona jest na localhost xampp i chciałbym aby pliki zapisywały się w folderze filmy a nie laravel/storage/ czyli chciałbym się cofnąć 2 foldery w tył aby moc zapisać w folderze filmy
Go to the top of the page
+Quote Post
viking
post 30.04.2020, 14:01:50
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


To dlaczego zmieniasz publiczny url a nie root? Co to jest za klucz out?


--------------------
Go to the top of the page
+Quote Post
Puchatek320
post 30.04.2020, 15:43:18
Post #5





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 4.11.2019

Ostrzeżenie: (0%)
-----


Chciałem aby tylko dane z formularza laravel zapisywał w tym folderze a resztę w storage czyli jakieś logi itp wiec pomyślałem iż użyję zrobię klasę out tak żeby odnieść się tylko do formularza ale źle chyba myślę :/
Go to the top of the page
+Quote Post
viking
post 30.04.2020, 15:53:46
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A czytałeś troszkę dokumentację? Masz zdublować istniejącą sekcję public, zmienić jej nazwę na np movies i dopasować ścieżki albo dopasować pod siebie całą konfigurację w filesystems.php


--------------------
Go to the top of the page
+Quote Post
Puchatek320
post 1.05.2020, 18:54:22
Post #7





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 4.11.2019

Ostrzeżenie: (0%)
-----


Okey,

'local' => [
'driver' => 'local',
'root' => storage_path('../../filmy/'),
],

'videos' => [
'driver' => 'local',
'root' => storage_path('videos'),
],
[/php]

zminiłem sobie to i wszystko fajnie ale nie mogę odwołać się do pliku żeby go wyświetlić?

próbuje to zrobić echo "<img src='122.png'></img>"; mimo że plik istnieje w folderze filmy to nie wyświetla się nie wiedzieć czemu....
Go to the top of the page
+Quote Post
viking
post 1.05.2020, 19:24:01
Post #8





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A apache ma dostęp do tego folderu (DocumentRoot)? Czy tak sobie losowo wgrałeś? Dwa wyżej nad storage to jest (przy domyślnej strukturze) poza folderem projektu.


--------------------
Go to the top of the page
+Quote Post
Puchatek320
post 4.05.2020, 23:53:40
Post #9





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 4.11.2019

Ostrzeżenie: (0%)
-----


Tak,

było tak

strona->laravel->storage->app

  1. 'local' => [
  2. 'driver' => 'local',
  3. 'root' => storage_path('../../filmy/'),
  4. ],
  5.  
  6. 'videos' => [
  7. 'driver' => 'local',
  8. 'root' => storage_path('videos'),
  9. ],


a jest tak

strona->filmy->122.png

próbuje zrobić echo "<img src='122.png' ></img>";
ale nie rozumiem dlaczego zdjęcie nie jest wyświetlane czy ja coś źle rozumiem?

DocumentRoot -> strona, jeśli robię zapis pliku z formularza do tego folderu to nie ma problemu żadnego z tym wszystko działa ok.

Jeśli zrobię <img src='../../filmy/122.png' ></img>" to zdjęcie się pojawia tylko dlaczego za każdym razem muszę się cofać skoro folder jest skonfigurowany na stałe?

Ten post edytował Puchatek320 5.05.2020, 00:18:10
Go to the top of the page
+Quote Post
viking
post 5.05.2020, 06:05:27
Post #10





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Jak ręcznie podajesz ścieżki. https://laravel.com/docs/7.x/helpers#method-asset


--------------------
Go to the top of the page
+Quote Post
Puchatek320
post 6.05.2020, 10:26:30
Post #11





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 4.11.2019

Ostrzeżenie: (0%)
-----


Nie rozumiem jak zrobić url z forma

mam

  1.  
  2. 'local' => [
  3. 'driver' => 'local',
  4. 'root' => storage_path('../../filmy/'),
  5. ],
  6.  
  7. 'save_video' => [
  8. 'driver' => 'local',
  9. 'root' => storage_path('filmy/'),
  10. 'url' => env('APP_URL').'/filmy',
  11. ],
  12.  
  13.  
  14.  
  15.  
  16. $ur = $request->file('file')->store($katalog);
  17. $url = '../../'.$ur.'';
  18.  
  19. Storage::disk('save_video')->put($ur, ''.$file.''); //save file from form

Wyjaśnisz w jaki sposób zrobić url tak żebym nie musiał kombinować z "../../" tylko to jakoś na stałe przypisać żebym wpisywał tylko folder i nazwę pliku?

Ten post edytował Puchatek320 6.05.2020, 10:28:57
Go to the top of the page
+Quote Post
viking
post 6.05.2020, 10:29:32
Post #12





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Zacznij czytać dokumentację https://laravel.com/docs/7.x/filesystem#file-urls


--------------------
Go to the top of the page
+Quote Post
Puchatek320
post 6.05.2020, 10:49:02
Post #13





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 4.11.2019

Ostrzeżenie: (0%)
-----


URL Host Customization

  1. 'save_video' => [
  2. 'driver' => 'local',
  3. 'root' => storage_path('filmy/'),
  4. 'url' => env('APP_URL').'../../filmy/',
  5. 'visibility' => 'public',
  6. ],
  7.  
  8.  
  9. $urle = Storage::url('test/1.jpg');
  10. return $urle;


według tego co piszę powino zwrócić filmy/test/1.mp4 a zwraca /storage/test/1.jpg czy ja coś źle rozumiem?
Go to the top of the page
+Quote Post
viking
post 6.05.2020, 11:25:41
Post #14





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Storage::disk()->url()


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 19:47