Ho fatto un po 'di ricerca per questo, quindi mi dispiace se questo è un dupe.
In ogni caso, ho bisogno di ottenere il nome della cartella in cui si trova il file corrente. Ad esempio, voglio convertire qualcosa come example.com/folder/subfolder/file.php
a subfolder
.
Il mio codice corrente è dirname($_SERVER['PHP_SELF'])
, ma restituisce /folder/subfolder
anziché subfolder
. Grazie!Ottieni cartella principale del file corrente PHP
risposta
Il modo più semplice è:
basename(__DIR__);
Basta usare ..
è un accesso relativo che indica la cartella principale.
Lo so, ma voglio ottenere il nome della cartella, non accedere alla cartella. – Andrey
Ahah, fai come vuoi, ma questo chiaramente alzerebbe una bandiera rossa se dovessi assumerti. È possibile eseguire una progettazione corretta senza fare affidamento sull'intero file system; solo la sua pertinenza. –
è necessario combinare il codice esistente utilizzando dirname()
con una chiamata a basename()
:
$parent = basename(dirname($_SERVER['PHP_SELF']));
dirname()
utilizzato con basename()
avrebbe funzionato ... anche questo se si desidera ottenere tutti:
$folders = explode ('/', $_SERVER['PHP_SELF']);
Ora le cartelle $ contengono un array di tutti i nomi delle cartelle.
Cheers.
Se si fa questo si dovrebbe fare attenzione all'elemento vuoto all'indice 0 che risulterà da un percorso che inizia con '/' – DaveRandom
Buon punto - grazie per aver aggiunto quel pensiero. –
@DaveRandom Un altro motivo per fare test prima di mettere in funzione il codice! :) Ma sì, se questo è fastidioso qualcuno, suppongo che l'unico altro modo sarebbe usare la regex. – kiradotee
$folder = basename(dirname(__FILE__));
str_replace('/','',$_SERVER[REQUEST_URI]);
risultati:
lib/immagini /index.php
immagini
- 1. PowerShell Ottieni cartella principale di un file
- 2. Ottieni percorso cartella corrente
- 3. Eclipse: ottieni la posizione del file corrente?
- 4. PHP Ottieni il nome della directory corrente
- 5. Ottieni nome file del file che ha eseguito PHP include
- 6. Ottieni l'ora corrente IST in php
- 7. Come creare un file rvmrc nella cartella principale del progetto?
- 8. Ottieni nome file corrente in JSP
- 9. Come ottenere la cartella principale del batch di Windows
- 10. Ottieni l'eseguibile PHP corrente dallo script?
- 11. xslt ottiene il percorso della cartella corrente del file
- 12. Ottieni la directory principale di una cartella +1
- 13. Ottieni il percorso del file di configurazione dell'applicazione corrente
- 14. Ottieni il percorso file di un file nel progetto corrente
- 15. Ottieni la cartella di un file.
- 16. WPF Ottieni finestra principale
- 17. Android: ottieni l'altezza del layout principale
- 18. Iteratore ricorsivo PHP: chiave principale dell'iterazione corrente dell'array?
- 19. Ottieni la directory principale di un file specifico
- 20. Ottieni dimensioni cartella
- 21. Ottieni il nome del metodo corrente
- 22. Android: Ottieni l'orientamento corrente del dispositivo
- 23. Ottieni l'URL del browser corrente - ActionScript 3
- 24. Ottieni il nome del metodo corrente
- 25. laravel Cercando di memorizzare i file cache nella cartella principale
- 26. AJAX/Jquery - Ottieni risposta dal file php
- 27. Ottieni il nome dell'elemento principale in XPath
- 28. Ottieni il nome utente Windows dell'utente corrente usando php?
- 29. init init nativo nella cartella corrente
- 30. Ottieni il nome file corrente con i parametri URL
Non dovrebbe essere contrassegnato come la risposta corretta? '$ _SERVER ['PHP_SELF']' può restituire il file che include "il file corrente". Il "file corrente" è __DIR__ giusto? O mi manca qualcosa? – taylorcressy
@taylorcressy sembra che la risposta sopra sia stata data prima di questa ... anche noi non usiamo la costante magica –
@ MarcelDjaman Capisco perché l'altro è stato contrassegnato come corretto. Sto semplicemente chiarendo che questa è la risposta corretta corretta. Tecnicamente, la prima risposta non è corretta in tutti i casi (vale a dire in un file incluso) – taylorcressy