2016-06-06 5 views
3

Я пишу специальное приложение php, которое должно разрешить загрузку торрент-файлов. Файлы расположены на сервере, и по запросу пользователя, служу файлу следующим образом:Загрузить .torrent-файл через php, Invalid Bencoding

if(file_exists($torrent_file)) { 
     header("Content-type: application/x-bittorrent"); 
     header('Content-Length: ' . filesize($torrent_file)); 
     header('Content-Disposition: attachment; filename="' . basename($torrent_file).'"'); 

     readfile($torrent_file); 
    } 

Но когда я скачать и попробовать, чтобы добавить файл в Utorrent я вижу следующую ошибку:

Невозможно загрузить - Торрент недействителен Bencoding.

Я искал, чтобы найти решение этой проблемы без каких-либо успехов.

+0

Почему бы не использовать библиотеку, такую ​​как PHPTracker (http://php-tracker.org/, пример того, что вы хотите на https://bmain.net/d/2-create-torrent-files-with- php-and-phptracker) – ali

+0

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

ответ

0

После почти дня поиска и поиска в Интернете я нашел проблему. Оказалось, что после закрывающего тега php в одном из включенных php-файлов было завершающее пробел. Я удалил пробел вместе с закрывающим тегом, и проблема была исправлена.

+1

проклятия! позвольте мне догадаться, была ли строка, заканчивающаяся символом '^ M' из копии для Windows-to-Unix? –

+0

Да! Это была точная проблема :) – VDonchev