Проблема использования Header

Yurich

Новичок
Проблема использования Header

Здравствуйте.
Подскажите пожалуйста в чем может быть причина такой проблемы.
Есть файлы, лежат на разных серверах, мне надо отдавать их на скачивание через свой сайт. Для этого я использую такие функции
ниже кусок кода...

PHP:
  $url = "http://домен/MP3/песня.mp3";  
header("Content-Type: audio/mp3");  
header("Content-Disposition: attachment; filename=\"song.mp3\"");  
readfile($url);
Проблема в том что попадаються файлы которые таким методом скачиваэться 0 байт, хотя если обычным способом качать, то все нормально.
Вот например:
PHP:
$url = "http://mp3.juno.co.uk/MP3/SF13293-01-03-01.mp3";
и
PHP:
$url = "http://mp3.juno.co.uk/MP3/SF13293-01-03-01.mp3http://api.ning.com/files/FSZ3QYWUO8534QcDjpq37biKC-XxqfEmgTHY3PbCwj0J-vaUusmbvElOezSArlCW4hWAEpXjJpAdsrr5vXEW5wSZM7mZXsku/Onetime.mp3";
Первая не хочет качатся скриптом, а вторая нормально качаэться.
Помогите найти причину этого феномена, исправить или хотябы, предсказать такое положение.
Буду очень признателен, ато парюсь уже не первый день.
 

Yurich

Новичок
Пардон вторую ссылку криво написал, но єто только здесь, в скрипте все нормально.
Дело в том что по первой ссылке
PHP:
$url = "http://mp3.juno.co.uk/MP3/SF13293-01-03-01.mp3";
не рабьотает, уже скачивает 264 байта почемуто, но файл пустой.
а по второй ссылке работаэт, скачивает положеных 3 мегабайта.
PHP:
$url = "http://api.ning.com/files/FSZ3QYWUO8534QcDjpq37biKC-XxqfEmgTHY3PbCwj0J-vaUusmbvElOezSArlCW4hWAEpXjJpAdsrr5vXEW5wSZM7mZXsku/Onetime.mp3";
Может какого-то заголовка не хватаєт. Как посмотреть заголоки на стороне клиента, которые отсылает мне сервер?
 

Yurich

Новичок
спасибо всем.
Ну вот такие заголовки показал Fiddler

Date: Mon, 18 Oct 2010 08:53:57 GMT
Content-Length: 732646
Content-Type: audio/mpeg
ETag: "f48db-b2de6-45e4421ff2900"
Last-Modified: Wed, 17 Dec 2008 20:43:48 GMT
Accept-Ranges: bytes
Server: Apache/2.2.11 (Unix)

вответ пишу такой скрипт:

PHP:
<?php
$url = "http://mp3.juno.co.uk/MP3/SF13293-01-03-01.mp3";
header("HTTP/1.1 200 OK");
header("ETag: f48db-b2de6-45e4421ff2900");
header("Content-Type: audio/mpeg");
Header("Accept-Ranges: bytes");   
header("Content-Disposition: attachment; filename=\"song.mp3\"");
header("Content-Length: 732646");   
readfile($url);
?>
начинаєт качать, скачиваєт 0,1% и все.
Что ж не так.......
для других ссілок буквально
PHP:
header("Content-Disposition: attachment; filename=\"song.mp3\"");
хватаєт.
У кого какие предположения?
 

AmdY

Пью пиво
Команда форума
убери заголовки и сделай просто echo readfile($url);
 

Yurich

Новичок
О_о. Ничего не происходит. так вот в чем проблема. а не в хедерах. Странно почему не читаєт... Ладно, спасибо AmdY, я не додумался єто проверить. Спасибо буду розбираться...
 

ХакИрФсимагущий

[засикречино]
Гдето когдато я видел, что до каптч были одно время системы по обнаружению ботов, как они точно назывались я не помню может тут чтото типо этого?
 

AmdY

Пью пиво
Команда форума
верните этого сбежавшего бота в бан, пожалуйста, буду очень благодарен, а то он вызывает у меня экзистенциальный ужас
 

Yurich

Новичок
Незнаю, Фсимагущий, решил не замарачиватся, зделал так и забыл )).
Получаю урл и ...
PHP:
$ip = $_SERVER["HTTP_X_REAL_IP"];
if(@fopen($url,"rb")){
	header("Content-Type: audio/mpeg");
    header("Content-Disposition: attachment; filename=$pesnia.mp3");
	header("Referer: ".$ip);
	readfile($url);
} else {header("Referer: ".$ip); header("Location: ".$url);}
ну а перед этим еще и существование файла проверяю.
 
Сверху