Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Övriga serverspråk > PHP

Ersätta sträng i en fil

Hultin
Hultin

Gradering

#19722

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;

... ORANGE HEARTS!
Redigerades av Hultin den 26 april 2010. Läs tidigare inlägg.
ID: #19722 | Skapades: 2010-04-26 00:07:53 | Tråden har 1 svar och har lästs 273 gånger.

Hultin
Hultin

Gradering

#19723

Lö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);

... ORANGE HEARTS!
ID: #19723 | Skapades: 2010-04-26 11:25:36
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy