Avatar ·

¿Cuándo usar la constante PHP_EOL en PHP y en qué se diferencia de \n?

¡Hola a todos! Soy un desarrollador PHP principiante y tengo confusión con la constante PHP_EOL. En la documentación dice que es "el carácter de fin de línea correcto para la plataforma actual", pero no entiendo bien cuándo debo usarla. Aquí hay un ejemplo: estoy escribiendo un script que guarda logs en un archivo de texto. Actualmente uso \n normal: ```php $log = date('Y-m-d H:i:s') . " - Usuario inició sesión\n"; file_put_contents('log.txt', $log, FILE_APPEND); ``` En el servidor local (Windows) funciona perfectamente. Pero cuando subí el código a producción (Linux), noté que en algunos lugares las líneas se pegan y en otros no. Un amigo me sugirió reemplazar \n por PHP_EOL, pero no entiendo: ¿para qué, si \n funciona en todas partes? También escribo correos HTML con mensajes multilínea. Allí también uso \n para saltos de línea en el cuerpo del correo: ```php $message = "Línea 1\nLínea 2\nLínea 3"; mail($email, $subject, $message); ``` En Windows los correos llegan con saltos correctos, pero en Linux...