"обращаешься из скрипта" - это, на твоем языке - в скрипте стоит ссылка на него?
Так писать неправильно. Из скрипта обращаются, когда скрипт работает.
А когда юзер тыкает в ссылку, скрипт давным-давно работать закончил.
И не ты обращаешься, а браузер юзера обращается.
И браузеру передавать заголовки авторизации бессмысленно.
Писать надо правильно.
Не "я обращаюсь из скрипта", а "у меня стоит ссылка на файл в запароленной директории".
Не надо людей путать.
У тебя есть два пути.
1. Путь - написать логин и пароль в ссылке.
Вида
http://login:pass@host/catalog/file.zipТогда окно вылезать не будет. Браузер прочтет эту ссылку, найдет в ней логин и пароль и пошлет их серверу.
но этот метод некрасивый - все логин с паролем увидят.
Хотя, если не жалко, то он самый удобный. Хотя в этом случае - зачем тогда вообще файл паролем закрывать?
Если же пароль показывать нельзя, то к файлу надо обратиться как раз как ты писал - ИЗ СКРИПТА. открыть его, прочитать (безо всяких паролей) и выдать пользователю.
ссылку делаешь на свой скрипт, который лежит не в каталоге с паролем, а в нем пишешь то что написано вот тут
http://flyover.xpoint.ru/forums/programming/PHP/faq.xhtml#187