На стороне PHP вы не можете корректно прервать загрузку (HTTP-соединение). Клиент может столкнуться с ошибкой «сброс соединения по одноранговой сети» (или с любым более дружественным сообщением, которое веб-браузер сделал из-за ошибки) Лучшее, что вы можете сделать, - это игнорировать прочитанные байты, но в PHP это не так (понятно?), Поскольку это язык довольно высокого уровня.
На стороне HTML нет абсолютно никакой возможности загрузить только «заголовок» файла. Это полный файл или ничего. Существует бесчисленное множество различных форматов файлов, и HTML не имеет ни одного из них, не говоря уже о том, как отличить часть заголовка файла, о котором идет речь.
Лучше всего написать небольшое приложение, которое обслуживается веб-страницей, загружается на компьютер клиента и работает там локально. Это приложение должно иметь файл выбора / выбора / открывания, а затем программно определить «заголовок» и отправить его на сервер. Вы можете сделать это во вкусе Java-апплета, MS Silverlight или, возможно, Adobe Flash.