Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][Laravel]Zmiana miejsca zapisu
Puchatek320
post
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
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
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
Post #4





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
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
Post #6





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
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
Post #8





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
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
Post #10





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
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
Post #12





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
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
Post #14





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 06:05