Nie wiem, czy dobrze przyporządkowałem problem do działu, bo jest mocno dziwny.
Mam plik PHP:
<?php
$zmienna = "cos";
//reszta kodu, która nie ma znaczenia
//jest go kilka linijek
?>
Tak wygląda przykładowy plik, który mam na serwerze i edytuję go PHPDesignerem zdalnie. Następnie kopiuje ten plik na dysk i ku mojemu zdziwieniu wygląda on następująco (w tym samym edytorze):
<?php
$zmienna = "cos";
//reszta kodu, która nie ma znaczenia
//jest go kilka linijek
?>
Jakby ktoś nie zrozumiał, chodzi o dodatkowe puste linie. Wrzucam ten plik (z pustymi liniami) ponownie na serwer, otwieram zdalnie i znów pustych linii nie ma. Powtarzam ten cykl kilka razy, ciągle ten sam efekt. W końcu plik z komputera (z pustymi liniami) wrzucam na ten sam serwer, ale do innego katalogu, zgrywam ponownie na komputer i…wolnych linii brak. Magia. Nie jest to wyłącznie problem natury wizualnej w edytorze. Mam także plik JavaScript który pobiera zawartość pliku php (czyli to co ‘wyechuje’) i sprawdza ifem
if(data == "cos") { alert ("ok"); }
Odpaliłem WebServa u siebie na komputerze i wrzuciłem do niego 2 wersje mojego pliku (tą z wolnymi liniami oraz tą zgraną z innego miejsca serwera, gdzie pustych linii brak). W wersji pustoliniowej JS nie wyświetla alertu, natomiast w normalnej wersji wszystko działa jak należy (zarówno na serwerze, jak i webservie). Podglądając dane w konsoli FireBuga zauważyłem, że tekst odbierany od PHP faktycznie ma wstawione (w wer. pustoliniowej) puste linie przed faktycznym tekstem wyechowanym, tj:
zamiast:
Pliki są zapisane jako Windows/UTF-8 bez BOM. Sytuacja powtarza się z 90% plików w ferelnym katalogu na serwerze (o dziwo niektóre przegrywają się na komputer normalnie, zawsze te same). Jakieś sugestie co może być tego przyczyną?