Download file via https for IE6

  • Автор темы SerjVarshavskiy
  • Дата начала

SerjVarshavskiy

Guest
Download file via https for IE6

Люди добрые, помогите, прочитал кучу постов и док, в итоге:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
$header="Content-Disposition: attachment; filename=".$SessionArray->ReadVar('user') . '_sslcrt.p12'.";";
header($header );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$sslsize);
@readfile($ssl_cert_file);

всё отлично, всё скачивает, НО в начале файла добавляет пробел! код 20 в HEX. Конец файла в норме, длинна файла увеличенна именно на этот пробел :(
$sslsize содержит размер файла без пробела!
 

SerjVarshavskiy

Guest
в смысле как сохраняю? выскакивает окошко мол сохранить, жму сохранить...

только что убрал из httpd.conf
#SetEnvIf User-Agent ".*MSIE.*" \
# nokeepalive ssl-unclean-shutdown \
# downgrade-1.0 force-response-1.0

теперь, приходит файл с нормальной длинной! НО :)
всё равно в начале этот пробел, зато урезало теперь один символ в конце файла :(
 

Денч

Новичок
Поищи в коде, где то ты сам пробел поставил в строковых переменных.
 

SerjVarshavskiy

Guest
ок, сенкс!
щас сделал чистый код на скачку, всё работает отлично!
буду искать.

-~{}~ 09.02.05 10:02:

где пробел попадает в буфер не нашел...
сделал
ob_clean();
ob_start();
header("Pragma: public");
header("Expires: 0");
....
@readfile($ssl_cert_file);
ob_end_flush();

всё ок
 

SiMM

Новичок
> где пробел попадает в буфер не нашел...
Пробел в начале исходника, например (при включенной буферизации вывода).
А твои манипуляции с ob-функциями здесь (по приведённому куску кода) абсолютно бессмысленны.
 

SerjVarshavskiy

Guest
спасибо за терпение :)
правда был пробел в одном из классов после ?>
сори, тема закрыта
 
Сверху