Народ подскажите!! Делаю курлом запрос на http://torrents.ru запрос на загрузку файла. Все проходит нормально. В браузер выводилось диалоговое окно с предложением сохранить торрент файл. Но сохраняется на диск пустой (или размером в 1КБ) файл. PHP: <? $result = $curl->curl_post($query_torrent_file, $post_data, $url_user); header("Transfer-Encoding: chunked"); header('Content-Type: application/x-bittorrent; name="[torrents.ru].' . str_replace('-', '', $torrent_uri) . '.torrent" content-disposition: attachment; filename="[torrents.ru].' . str_replace('-', '', $torrent_uri) . '.torrent"'); header("Content-Length: " . strlen($result)); echo $result; ?> Что не так?
так ты торент и качешь, а надоть тебе торент-клиента ставить и тогда торент-клиент тебе файлик выкачеет.
Нет, если это делать из браузера. То этот торрент-файлик (43Кб) качается нормально. И его то мы и указываем торрент клиенту. Для скачивания им самого файла. Если заголовки перед echo $result; не ставить То этот файлик выводится в браузер.
Смотри заголовки которые получаешь от torrents. и фраза "То этот файлик выводится в браузер." не понятна, выводиться правильный файлик?
Кстати попробовал выдаваемый файл сохранить сразу без вывода в браузер в файл он сохраняется один в один. Так что дело в заголовках, о помощи в составлении которых я и прошу.
В первом посте ты показал код который вводит эти заголовки,с переменными которые не присвоены в скрипте. Сравни ответ сервера с твоим ответом по такому коду PHP: <? $result = $curl->curl_post($query_torrent_file, $post_data, $url_user); echo "Transfer-Encoding: chunked\n"; echo 'Content-Type: application/x-bittorrent; name="[torrents.ru].' . str_replace('-', '', $torrent_uri) . '.torrent" content-disposition: attachment; filename="[torrents.ru].' . str_replace('-', '', $torrent_uri) . '.torrent"'."\n"; echo "Content-Length: " . strlen($result))."\n"; ?> Уже эта строчка должна была заинтересовать-"Transfer-Encoding: chunked".
Если вас смущает наличие $torrent_uri - я не привожу весь код сверху над этим "фрагментом" (а зачем). Меня интересовало составления нужных заголовков которые смогут получить нужный результат. Тему можно финализировать. Сам разберусь на досуге.
Все просто оказалось: PHP: <?php ........ ........ $result = $curl->curl_post($query_torrent_file, 'sid=' . $matches[1], $url_user); header("HTTP/1.1 200 OK"); header("Content-Type: application/x-bittorrent"); header("Content-Disposition: attachment; filename='[torrents.ru]." . str_replace('=', '', $torrent_uri) . ".torrent'"); echo $result;