Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Download файлов через SSL для IE 
V
    Опции темы
Shadow_1512
Дата 16.2.2005, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2004

Репутация: нет
Всего: нет



Есть кусок кода, который отдает файл:


Код

header("Cache-Control: private");
       header("Content-Disposition: attachment; filename=" . basename($file));
       header("Content-Transfer-Encoding: binary");
       header("Content-Type: application/octet-stream");
       header("Content-Length: ". filesize($file));
       readfile("$file");


Под Мозиллой, Оперой, Нетшкафом все работает, выскакивает окошко, предлагающее сохранить файл и после подтверждения файл сохраняется. Под IE пишет тоже окошко выпрыгивает, но после подтверждения, IE подвисает и через некоторое время выдает, что "узел недоступен или не найден"

В чем трабл? Нутром чувствую, что в настройках сервера....
PM MAIL   Вверх
Axxent
Дата 16.2.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 25.3.2004
Где: Новосибирск

Репутация: 3
Всего: 5



Код

readfile("$file");


Неблагодарный код. Усиленно фильтруй $file, а то поломают. По поводу твоей проблемы - вроде все в коде верно, имхо осел глючит как всегда smile
PM MAIL ICQ   Вверх
Xena
Дата 1.3.2005, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 17.2.2005

Репутация: 1
Всего: 1



Здравствуйте!
Мне нужна Ваша помощь в следующем вопросе.
На сайте http://php.spb.ru я нашёл пример загрузки бинарных файлов с сервера через HTTP:
Код

<?
  // открыли соединение
  $so = fsockopen("php.spb.ru", 80, &$errno, &$errstr, 30);
  // послали GET форму (простой URL + указание вирт. хоста)
  fputs($so,"GET /files/notepad.exe HTTP/1.0\nHOST: php.spb.ru\n\n");
  // читаем все, пока не наступит "конец заголовка" (т.е. начало документа)
  // если наступит, то со след. байта начнется документ
  while(fgets($so,2048)!="\r\n" && !feof($so));
  unset($buf);
  // читаем документ в переменную
  while(!feof($so)) $buf.=fread($so,2048);
// Готово. В переменной $buf храниться скаченный документ (т.е. файл)
  // Максимум можно читать порциями по 64K-1байт
  // закрываем сокет
  fclose($so);
  echo "Download fine, size ".strlen($buf)." bytes."; flush();
  // используем скаченный файл (в переменной) по назначению...
  $f=fopen("download.tmp","wb+");
  fwrite($f,$buf,strlen($buf));
  fclose($f);
?>

Этот пример работает успешно, но хотелось бы узнать, что делать, если используется не НТТР, а HTTPS? Какой должен быть синтаксис у строки?
Код

fputs($so,"GET /files/notepad.exe HTTP/1.0\nHOST: php.spb.ru\n\n");
Я понимаю, что и в fsockopen нужно передавать не 80, а 443 порт, но одного этого не достаточно. Буду очень признателен, если Вы подскажите, где можно найти соответствующую документацию.

Заранее спасибо.
С уважением, Логинов Ф.

PM MAIL   Вверх
IZ@TOP
Дата 2.3.2005, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Xena, думаю что здесь должно помочь использование библиотеки OpenSSL - http://ru3.php.net/manual/ru/ref.openssl.php .


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Xena
Дата 2.3.2005, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 17.2.2005

Репутация: 1
Всего: 1



Спасибо за сочувствие, IZ@TOP ,но сильно сомневаюсь, что поможет.
Предложенные там функции – инструмент для работы с сертификатами и ключами SSL, а мне всё это не нужно. Всё что мне требуется, это скачивать файлы с «чужого» веб-сервера, список которых я имею виде набора линков https://..... уже после того как все всех узнали. Приведённый мной выше пример может и работал бы, но он выдаёт ошибку «файл не найден». На сколько я понимаю, это связано с тем, что существует како-то alias, который преобразует путь к файлу вида https://myserver.ru/forall/mydoc/text.doc, к пути понятному серверу, например http://myserver.ru/secure_folder/forall/mydoc/text.doc, Возможно это я гоню, но понять механизм пока не удалось, встречаю в основном описание обмена сертификатами через SSL и прочую «аутоинтефикацию», но где же посмотреть конкретные примеры скриптов?!?!?!
Я могу (и так и делаю) вручную перекачивать файлы используя IE, но очень хочется этот процесс автоматизировать. Я начал с JavaScript, но мне категорично посоветовали ONLY PHP! Вот теперь и не знаю у кого допомоги просить!

Добавлено @ 20:28
ДА! Большое спасибо, что удалили мой аналогичный пост из другой ветки форума, оставив его только в форуме для начинающих! Так у меня в 300 раз больше шанс получить ответ! Ещё раз СПАСИБО!
PM MAIL   Вверх
IZ@TOP
Дата 3.3.2005, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Xena, немного не допонял смысла, прости. 2 На счет алиасов незнаю. 3 надо было создавать отдельную тему. Что в принципе ни когда не поздно. Но скорее всего многие как и я с данным вопросом не имели дела, и соответственно пропустят тему мимо.

PS тема перемещена.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Xena
Дата 5.3.2005, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 17.2.2005

Репутация: 1
Всего: 1



С твоего согласия я создам новую тему smile
PM MAIL   Вверх
IZ@TOP
Дата 5.3.2005, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Xena, ну в общем-то я незря перенес эту в обычную smile Но если надо, создавай.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Xena
Дата 29.3.2005, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 17.2.2005

Репутация: 1
Всего: 1



Слава богу!!!! smile

Дорогой IZ@TOP!
Благодаря твоей косвеной помощи (поиск в мануале implode вывёл меня окольными путями на нужную дорожку), я наконец-то нашёл ответ!
Все темы можно закрывать!

Задача решается так:

Всё дело в cURL!
Либо прикрутить его к PHP, либо использовать из командной строки.
в мануале всё подробно расписано, дистрибутивы здесь: http://curl.haxx.se/
Всем спасибо!!!!
PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1054 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.