W trybie ASCII FTP konwertuje znaki CRLF do LF. W trybie binarnym pliki po prostu są wysyłane w takiej postaci w jakiej znajdują się na dysku lokalnym. Jeśli zatem plik przesłany na serwer ma znaki CRLF (Windowsowe zakończenia linii), to nie będzie uznany za prawidłowy plik tekstowy Unixa i stąd problem przy skryptach CGI działających zazwyczaj na SHELLu Unixa. Problem nie dotyczy skryptów PHP. Prawdopodobnie Twoje pliki mają kodowanie końców linii w formacie CRLF i stąd kłopot przy transferze w postaci binarnej. Pajączek domyślnie zapisuje końce linii w formacie Unix o ile nie została zmieniona odpowiednia opcja lub plik nie był wcześniej zapisany za pomocą CRLF. Sprawdź proszę konwertując plik na zapis końców linii w formacie Unix, a następnie wyślij plik za pomocą Pajączka (w trybie Binary). Zachęcam też do poczytania dyskusji na temat ASCII vs BINARY na
comp.unix.shell