Przeczytałeś w ogóle to co wstawiłem jako cytat?
Cytat
Plik wynikowy jest w tym samym katalogu co plik wykonawczy wiec nie ma błędu lokalizacji.
Czyli $file to np. "plik.txt"

czy jest tam jakis slash albo sciezka przed nazwa pliku?
Cytat
Zresztą po to jest sprawdzanie czy plik można czytać i zapisywać, żeby nie było wątpliwości co do tego, że plik jest i ma dobre prawa zapisu.
Super, tylko jeśli plik nie istnieje to te funkcje wywalą o tym informacje raz, a później skrypt i tak stworzy sobie plik i komunikaty będą wyświetlały, że wszystko jest ok.