1

クラス プロジェクトの場合、別の Web サイトからデータを取得することになっています。GiantBomb.com の特定のゲームに似たプル ゲームを選びました (クレジットはスクリプトに記載されています)。

// $gameLink = "/call-of-duty-black-ops/61-26423/";
$html = file_get_contents("http://www.giantbomb.com" . urlencode($gameLink) . "games_similar/");
echo $html;

これは何も返しません。

ただし、$gameLink を手動で入力した場合:

$html = file_get_contents("http://www.giantbomb.com/call-of-duty-black-ops/61-26423/games_similar/");
echo $html;

これで、適切に結果が返されます。コードの何が問題になっていますか? urlencode()$gameLink 変数だけでなく、リンク全体で実行しようとしましたが、それでも失敗します。誰か提案はありますか?

4

2 に答える 2

5

html に埋め込まれたリンクを urlencode する必要があるだけです。file_get_contents() に渡されたリンクを urlencode しないでください。

于 2012-04-17T22:16:02.307 に答える
0

これは、urlencode()が-_を除くすべての英数字以外の文字をエンコードするためだと思います。

これは、スラッシュが%2Fにエンコードされることを意味しますが、これは必要なものではありません;)ただし、ヘゲモンが前述したように、file_get_contents()に渡されるリンクをurlencodeしないでください。

于 2012-04-17T22:21:46.507 に答える