sirve - Combinar directorio y nombre de archivo en PHP(equivalente a Path.Combine en.Net)
php tutorial (3)
Esta debería ser una pregunta simple, pero simplemente no puedo recordar la API relevante. Una búsqueda en google con el término " combinar nombre de directorio php " no arroja ningún resultado. Así que supongo que estoy haciendo un servicio tanto a mí mismo como a la comunidad de programación haciendo esta pregunta.
¿Cómo combinar el directorio y el nombre del archivo para formar una ruta de archivo completa en PHP? Digamos que el nombre del directorio es " D:/setup program
" y el nombre del archivo es " mj.txt
". El método debería devolverme, en Windows " D:/setup program/mj.txt
". Por supuesto, el método debe devolver la ruta de archivo correcta en Linux u otro sistema operativo.
La función relacionada en .Net es Path.Combine , pero en PHP, no podía recordar eso, aunque Path.Combine haberlo visto antes.
Creo que la forma más limpia y flexible de hacerlo sería usar la función de unión más la constante DIRECTORY_SEPARATOR:
$fullPath = join(DIRECTORY_SEPARATOR, array($directoryPath, $fileName));
Puede concatenarlo con la constante php DIRECTORY_SEPARATOR
, o simplemente usar barras diagonales. Windows probablemente no le importe = D
$filepath = $path . DIRECTORY_SEPARATOR . $file;
Aunque en las versiones más recientes de PHP no importa en qué dirección van las barras diagonales, está bien usar siempre barras diagonales.
Puede obtener una ruta absoluta correcta usando realpath()
, esto también eliminará elementos como barras innecesarias adicionales y resolverá referencias como ../
. Devolverá falso si la ruta no es válida.