preg_match_all - ¿Cómo obtener un separador de directorio independiente de la plataforma en PHP?
php parser html dom (2)
Estoy construyendo una cadena de ruta en PHP. Necesito que funcione en todas las plataformas (es decir, Linux, Windows, OS X). Estoy haciendo esto:
$path = $someDirectory.''/''.$someFile;
Supongamos que $someDirectory
y $someFile
están formateados correctamente en tiempo de ejecución en varias plataformas. Esto funciona muy bien en Linux y OS X, pero no en Windows. El problema es el /
carácter, que pensé que funcionaría para Windows.
¿Hay una función de PHP u otro truco para cambiar esto a /
en tiempo de ejecución en Windows?
EDITAR: solo para ser claro, la cadena resultante es
c:/Program Files (x86)/Sitefusion/Sitefusion.org/Defaults/pref/user.preferences
en Windows. Obviamente, la combinación de barras confunde a Windows.
Prueba este
DIRECTORIO_SEPARATOR
$patch = $somePath. DIRECTORY_SEPARATOR .$someFile
o puedes definir el tuyo
PHP_OS == "Windows" ||
PHP_OS == "WINNT" ? define("SEPARATOR", "//") : define("SEPARATOR", "/");
if (strtoupper(substr(PHP_OS, 0, 3)) === ''WIN'')
define("SEPARATOR", "//");
else
define("SEPARATOR", "/");