Sono un principiante qui, quindi scusami per questa domanda sto usando return File::put($path , $data);
per creare un file nella cartella pubblica su Laravel. Ho usato questo pezzo di codice dal controller, ho bisogno di sapere il valore di $path
come dovrebbe essere.Come ottenere l'elenco pubblico?
risposta
Usa public_path()
Per riferimento:
// Path to the project's root folder
echo base_path();
// Path to the 'app' folder
echo app_path();
// Path to the 'public' folder
echo public_path();
// Path to the 'storage' folder
echo storage_path();
// Path to the 'storage/app' folder
echo storage_path('app');
Solo per aggiungere che 'public_path()' è in realtà piuttosto inutile - si presuppone che tutti i tuoi file pubblici si trovino in una directory chiamata "public" - anche se non lo sono. Ad esempio, devo sempre cambiare la directory "pubblica" predefinita in "public_html" (in linea con il mio server). Laravel non lo riconosce. Quindi non fare affidamento su questo per fare una determinazione intelligente di ciò che è effettivamente la tua directory pubblica. Sto solo usando '$ _SERVER ['DOCUMENT_ROOT'];' a meno che qualcuno non possa suggerire il motivo per cui non dovrei? – Inigo
È possibile utilizzare base_path() per ottenere la base della vostra applicazione - e poi basta aggiungere la cartella pubblica che:
$path = base_path().'/public';
return File::put($path , $data)
Nota: Essere molto attenti a permettere alle persone di caricare i file nel vostro root di public_html. Se caricano il proprio file index.php, prenderanno il controllo del tuo sito.
è base_path definito in laravel .. l'ho usato ho ricevuto questo errore Chiama alla funzione non definita base_path() –
Sì - è definito in helpers.php. Ho provato la mia app L4 - funziona. Assicurati di aver eseguito l'ultima versione di L4 - potrebbe non essere stato nelle versioni precedenti. – Laurence
So che è un po 'tardi, ma se qualcun altro si imbatte in questo aspetto, ora puoi usare public_path(); in Laravel 4, è stato aggiunto al file helper.php nella cartella di supporto see here.
Il modo migliore per recuperare il percorso della cartella pubblica dal vostro config laravel è la funzione:
$myPublicFolder = public_path();
$savePath = $mypublicPath."enter_path_to_save";
$path = $savePath."filename.ext";
return File::put($path , $data);
Non c'è bisogno di avere tutte le variabili, ma questo è solo per uno scopo dimostrativo.
Spero che questo aiuti, GRnGC
- 1. Ottenere il mio IP pubblico tramite API
- 2. Come ottenere il riconoscimento pubblico dei gruppi .Net
- 3. Obiettivo C - Come ottenere l'indirizzo IP pubblico del dispositivo
- 4. Come ottenere l'indirizzo IP pubblico di un utente in C#
- 5. Pubblicare Google Hangout come pubblico
- 6. L'uso pubblico di typedef portable è pubblico?
- 7. Facebook feed pubblico API
- 8. Ottenere il messaggio di errore "Risorsa non è pubblico"
- 9. pubblico statico vs pubblico statico - c'è una differenza?
- 10. in che modo pubblico è un repository pubblico github?
- 11. Ottieni l'indirizzo IP pubblico (remoto)
- 12. di accesso pubblico .net
- 13. Come modificare un changeset "pubblico" in Mercurial
- 14. Come posso adattare correttamente questo metodo "pubblico"?
- 15. Come fare correttamente un sinonimo pubblico
- 16. Hai filepicker.io set file s3 come pubblico?
- 17. Laravel: Come accedere al file pubblico
- 18. Perché InitializeComponent è pubblico
- 19. MSMQ privato o pubblico
- 20. Utilizzo API non pubblico
- 21. Album pubblico Facebook
- 22. Come ottenere l'indirizzo IP pubblico dell'IPhone senza utilizzare un URL di terze parti
- 23. Come ottenere il DNS pubblico di un'istanza al livello di programmazione?
- 24. Come posso ottenere il mio indirizzo IP pubblico in uno script di shell?
- 25. Come ottenere il commit di tutto il github pubblico di un utente
- 26. L'Heroku Git Repo è pubblico?
- 27. Algoritmo di trasporto pubblico bus
- 28. Scala: finale statico pubblico in una classe
- 29. scala equivalente di java campo pubblico
- 30. Come assegnare automaticamente l'ip pubblico all'istanza EC2 con boto
stai usando laravel 3 o 4 laravel? – Laurence
sto usando la versione 4 –