Tryb transferu „Binarny” FTP kopiuje pliki dokładnie, bajt po bajcie. Prosty i bezpośredni.
Jednak przenoszenie plików tekstowych między różnymi systemami operacyjnymi może nie być tym, czego potrzebujesz - różne systemy operacyjne używają różnych kodów do reprezentowania podziałów linii. W tym celu istnieje tryb „ASCII”: automatycznie tłumaczy wszystkie zakończenia linii z formatu systemu źródłowego na format miejsca docelowego.
Nie jestem pewien co do „Auto”, ale wyobrażam sobie, że rozszerzenie pliku lub coś podobnego decyduje o tym, czy jest to plik tekstowy, i próbuje zgadnąć odpowiedni tryb.
Wybór trybu zależy od tego, co robisz z plikami ... jeśli tylko kopiujesz je w celu utworzenia kopii zapasowej, prawdopodobnie prawdopodobnie będziesz chciał skopiować w trybie binarnym, aby były dokładnie takie same, gdy później przywrócisz je ponownie na serwerze Windows. Jeśli muszą być użyteczne jako pliki tekstowe (być może jako pliki konfiguracyjne dla programu międzyplatformowego?) Po obu stronach, będziesz chciał użyć ich do tłumaczenia w trybie ASCII.
EDIT: O ile mogę powiedzieć, FTPing plików z Windows na Linuksa nigdy nie powinny powodować podziały wierszy znikają ... jednak , jeśli je skopiować w trybie ASCII, a następnie przenieść je z powrotem do serwera Windows w trybie binarnym, Linux zakończenia linii w stylu mogą nie zostać rozpoznane w polu Windows. (Notatnik ich nie zobaczy; Wordpad zobaczy; YMMV z innym oprogramowaniem).
(Dzisiaj taka wygoda - automatyczna konwersja zakończeń linii - może wydawać się dziwna w tak podstawowym protokole jak FTP. Jednak kiedy wynaleziono FTP, wysyłanie plików tekstowych było normą, a jednym z celów protokołu było stworzenie to tak proste, jak to możliwe.)
Rzeczywiście istnieją różnice i będą one bałagać się z przesyłaniem plików w formacie innym niż zwykły tekst, chyba że użyjesz opcji binarnej - zazwyczaj zawsze używaj, jeśli ok :)
źródło
Do jakiego systemu operacyjnego przenosisz pliki do / z? Linux / Unix używają innych podziałów linii niż Windows. Więc jeśli wygenerujesz plik na komputerze z systemem Linux i otworzysz go w systemie Windows, może to wyglądać dziwnie. Istnieją narzędzia, aby to naprawić, ale z mojego doświadczenia wynika, że jeśli używasz WordPada w Windows zamiast Notatnika, wszystko będzie dobrze.
źródło
dos2unix
i sprawdź, czy toWindows i Unix mają różne bajty na końcu linii (Windows a 0D 0A hex, Unix tylko 0A). Podczas przesyłania plików w trybie binarnym bajty pliku zostaną przeniesione z jednego komputera bez zmian. Jest to wymagane w przypadku formatów binarnych (np. Plików ZIP, obrazów itp.), Ale może prowadzić do problemów z plikami tekstowymi: np. Notepad.exe w systemie Windows wyświetli plik tekstowy z tylko podziałami linii w stylu unix jako jedną długą linię, edytor unix może wyświetlać ^ M na końcu każdej linii, gdy widzi styl Windows.
Więc technicznie dla formatów binarnych (zip, jpg, png i nieskończonych innych) musisz ustawić FTP na BINARY, podczas gdy dla formatów tekstowych (HTML, PHP, CGI itp.) Musisz ustawić go na ASCII.
Większość dobrych programów FTP ma również ustawienie automatyczne, co oznacza, że określą tryb (BINARY lub ASCII) w zależności od dobrze znanych rozszerzeń plików, np. Automatycznie przełączy transfer pliku JPG na BINARY i wyśle / odbierze plik PHP w ASCII tryb.
źródło