Ten komunikat wskazuje na to, ze probowales czytac pusty plik, bo:
fread($id_pliku, filesize($plik)) // jako drugi argument przekazujesz filesize, czyli rozmiar $plik, gdy ten plik jest pusty, to pewnie przekazuje 0 - co powoduje blad, a moze poprostu ta zmienna $plik nic nie zawiera? Sprawdz dokladnie kod.
2. Da sie wyswietlic bez rozszerzenia, wystarczy:
echo '<a href="'.$pojedyncze.'">'.$info['dirname'].'/'.$info['filename'].'</a><br/>'; // Albo prosciej:
echo '<a href="'.$pojedyncze.'">'.$wynik.'</a><br/>'; // Mozna jeszcze na wiele sposobow, poczytaj o: