Forum > Övriga serverspråk > PHP
Hej!
Har börjat närma mig en första fungerande verison av min tracker, bara ett "större" problem kvar, och det är att när man laddar ner en .torrent fil så skall jag med php öppna filen, leta upp announce urlen, låt oss säga den är http://localhost/announce.php, och lägga till ?passkey=VÄRDE. Alltså så att filen inte ändras på något sätt, förutom att http://localhost/announce.php blir http://localhost/announce.php?passkey=VÄRDE. Det är även binär kod i denna filen, vilket ställer till det hela lite, har provat och pillat runt med att använda en funktion/klass som heter BDecode & BEncode, dock utan lycka. Ber nu därför er om hjälp.
/J
Edit:
Provade denna koden, dock replacade den tyvärr ingenting :<
if($fh = fopen($torrent, 'r')){
$str = fread ($fh, filesize($torrent));
$str = str_replace($announceurl, $announceurl.'?passkey='.$row['me_passkey'], $str);
@fclose($fh);
} else {
die ("Error opening file in ".__FILE__." on line ".__LINE__.".");
}
echo $str;
| Skriv utLöste det själv. För er som är intressaread, tvivlar att det är många men kunskap är makt, kom ihåg det.
if($fh = fopen($torrent, 'r')){
$file = fread ($fh, filesize($torrent));
$array = BDecode($file);
@fclose($fh);
$array['announce'] = $announceurl[0].'?passkey='.$row['me_passkey'];
if (isset($array['announce-list']) && is_array($array['announce-list'])){
for ($i=0;$i<count($array['announce-list']);$i++){
if (in_array($array['announce-list'][$i][0],$announceurl)){
$array["announce-list"][$i][0] = trim(str_replace('/tracker.php', '/tracker.php?passkey='.$row['me_passkey'], $array['announce-list'][$i][0]));
}
}
}
} else {
die ('Error opening file in '.__FILE__.' on line '.__LINE__);
}
$torrent = BEncode($array);
header('Content-Disposition: attachment; filename="'.$name.'"');
header('Content-Type: application/x-bittorrent');
print($torrent);