1

トラックの名前をリストしたテキストファイルがあり、ダブルスペースの後にアーティストがリストされています。Last.fmからアルバムアートを取得するには、のようなURLにタイトルとアーティストの両方を含める必要がありますhttp://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=TRACK TITLE&artist=ARTIST。アーティストとトラックのタイトルは別々のファイルにないので、ダブルスペースの前の部分を$ titleと呼び、ダブルスペースの後の部分を$artistと呼ぶ方法があります。これをエコーするだけです。 URLに?

これは私が現在ファイルの内容を取得しなければならないものです:

<?php
$current = file_get_contents('RBDS%20Text.txt');
echo $current;
?>

ありがとう!

編集:

したがって、テキストファイルには「トラックタイトル[ダブルスペース]アーティスト」が出力されます。

Last.FMの場合、URLに含める必要がありますtrack=TRACK TITLE&artist=ARTIST

4

4 に答える 4

1

を使用しexplodeます。

$current = file_get_contents("RBDS%20Text.txt");
$chunks = explode("  ", $current, 2);
$title = $chunks[0];
$artist = $chunks[1];

上記の唯一の問題は、タイトルにダブル スペースが含まれていると、問題が発生する可能性があることです。

于 2012-06-05T04:21:36.537 に答える
1

私があなたをよく理解していれば、あなたは次のようなものが欲しいです:

list($title, $track) = explode('  ', trim(file_get_contents('RBDS%20Text.txt')), 2);
于 2012-06-05T04:22:00.203 に答える
1
<?php
// build $url here
$result = file_get_contents($url);
list($title, $artist) = explode("  ", $result);

とを介して vars にアクセスできるように$titleなりました$artist

于 2012-06-05T04:22:23.783 に答える
0

まず、私たちのデータ...

[ghoti@pc ~]$ cat RBDS_Text.txt 
My first song  Crazy Bad Band
Thriller  Michael Jackson

次に、PHP スクリプト:

[ghoti@pc ~]$ cat rbds.php 
#!/usr/local/bin/php
<?php

$lines = file("RBDS_Text.txt");

$fmt="http://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=%s&artist=%s";

foreach ($lines as $line) {
        $data=explode("  ",$line);
        printf($fmt, urlencode($data[0]), urlencode($data[1]));
        print "\n";
}

そして最後に、実際のスクリプト:

[ghoti@pc ~]$ ./rbds.php 
http://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=My+first+song&artist=Crazy+Bad+Band%0A
http://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=Thriller&artist=Michael+Jackson%0A
[ghoti@pc ~]$ 

これらの URL を何かに使用する場合は、printf()行を$varname=sprintf(...).

于 2012-06-05T04:30:00.893 に答える