A menudo, desde diferentes hosts remotos, FileZilla descargará un archivo .css
o .php
e insertará líneas en blanco entre las líneas existentes. Esto destruye el buen formato.
PC = Windows 10 Pro de 64 bits.
¿Cómo evito esto?
Respuesta1
Mi respuesta versus la respuesta de OP
Estoy escribiendo esta respuesta cuando OP ya ha encontrado la solución. El objetivo de mi respuesta es explicar cuál fue el problema para ayudar a futuros usuarios con problemas similares.La respuesta existente ofrece una solución pero no una idea. Esta es la respuesta:
La solución fue cambiar el tipo de transferencia de Auto a Binaria.
Menú de transferencia > Tipo de transferencia > binario
Antecedentes del problema: ASCII versus binario
Como sospechaba (en mi comentario a la pregunta), el problema era una falta de coincidencia con la traducción de los finales de línea. ElWiki FileZillacubre el tema. Estos son los fragmentos relevantes (todas las citas que siguen provienen de ellos, algunas frases tambiénenfatizadopor mi):
Los archivos se pueden transferir entre un cliente y un servidor FTP de diferentes maneras. La especificación FTP (RFC 959) los llama "tipo de datos" (...)
Los diferentes tipos de datos son:
- ASCII
- binario
- (...)
El tipo ASCII se utiliza para transferir archivos de texto.El problema con los archivos de texto es que diferentes plataformas tienen diferentes tipos de finales de línea. Microsoft Windows, por ejemplo, usa un par CR+LF (retorno de carro y avance de línea), mientras que los sistemas similares a Unix, incluidos Linux y MacOS X, solo usan LF y los sistemas MacOS tradicionales (MacOS 9 o anterior) solo usan CR.El propósito del tipo ASCII es garantizar que los finales de línea se cambien correctamente a lo que está en la plataforma.Según la especificación FTP, los archivos ASCII siempre se transfieren utilizando un par CR+LF como final de línea.
Entonces, en caso de que el archivo se transfiera del cliente al servidor, el cliente debe asegurarse de que se utilice CR+LF. (...)
Lo mismo sucede cuando se descarga un archivo del servidor al cliente: el servidor se asegura de que los finales de línea sean CR+LF al enviar el archivo y el cliente luego elimina todo lo que no sea necesario como final de línea en su plataforma.
(...)
En comparación con el tipo ASCII, el tipo binario es el más sencillo: el archivo simplemente se transfiere tal cual y no se realiza ninguna traducción al final de línea.
¿Qué pasó?
Uno de los ejemplos en los que las cosas van mal coincide con el caso del OP. Creo que esto es lo que pasó:
Se cargó un archivo de texto de Windows (CR+LF) en un servidor FTP basado en Unix en formato binario. Si ese archivo se descarga en ASCII, el servidor FTP traduce LF a CR+LF, por lo que los finales de línea CR+LF se convertirán a CR+CR+LF. FileZilla en Windows espera que el archivo ya utilice codificación de línea CR+LF (según la especificación FTP), por lo que no se realiza más traducción.Dependiendo del editor de texto utilizado, las líneas ahora pueden estar separadas por una línea vacía adicional.
Solución
La solución del OP es cambiar el tipo de transferencia deAutoaBinarioempezando desdeTransferirmenú.El artículo también ofrece otras formas de cambiarlo:
Puedes cambiar el tipo de datos de transferencia de tres maneras con FileZilla:
- En las preferencias de FileZilla
- En el menú principal bajoTransferir->Tipo de transferencia
- Haciendo clic derecho en el indicador de tipo de datos en la barra de estado de FileZilla.
Haciendobinariola opción predeterminada en Windows puede llevar a la situación en la que .css
u .php
otro archivo de texto descargado desde un sistema que no sea Windows se guarde con un solo LF o CR en lugar de CR+LF específico de Windows. Puede que no sea un problema, como se explica en otro fragmento:
Entonces, cuando no esté seguro de qué usar, opte siempre por el tipo binario.Hoy en día, casi todos los (buenos) editores de texto pueden manejar los tres finales de línea posibles, y otros archivos de texto como los de lenguajes de programación como Perl o PHP, así como los archivos XML (casi) siempre funcionan también con cualquier final de línea.
Esta solución puede ser la mejor en muchos casos porque siempre se puede cambiar el tipo de transferencia.
Solución alternativa
El título de la pregunta sugiere que FileZilla del OP creó líneas adicionales. No es cierto, no había nada malo con la configuración de FileZilla de OP. Este problema se origina en el lado del servidor, donde hay archivos de texto con finales de línea que no coinciden con el sistema operativo del servidor.La solución indicada anteriormente es solo una solución del lado del cliente para el problema del lado del servidor..
La solución alternativa es arreglar los archivos (sus finales de línea) en el lado del servidor., por lo que la transferencia ASCII funciona como debería en primer lugar. Obviamente, esto es lo correcto y puede considerarse la mejor solución, en cierto sentido: porque aborda la raíz del problema. Considere esta solución si administra el servidor o si puede comunicarse con el administrador o si tiene derechos para sobrescribir el archivo mal formateado.Esto también beneficiará a otros usuarios.
Incluso si contactas al administrador, creo que siempre es más rápido cambiar el tipo de transferencia y descargar el archivo que deseas en lugar de esperar a que se realicen los cambios en el lado del servidor.
Respuesta2
La solución fue cambiar el tipo de transferencia de Auto a Binaria.
Menú de transferencia > Tipo de transferencia > binario