2012-04-17 64 views
1

對於課程項目,我們應該從其他網站獲取數據。我從GiantBomb.com挑選了類似於給定遊戲的拉遊戲(在我的腳本中給予他們的分數)PHP中的file_get_contents不起作用

// $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變量,但仍然失敗。有沒有人有什麼建議?

+0

...這不是'urlencode()'的用途...... – 2012-04-17 22:15:24

+0

@Sunny,一定要將與課程相關的問題標記爲「家庭作業」。 – 0b10011 2012-04-17 22:20:05

+0

@bfrohs ..剛剛改變它。謝謝你讓我知道。 – Sunny 2012-04-17 22:50:16

回答

5

您只需將urlencode鏈接嵌入到html中。不要urlencode傳遞給file_get_contents()的鏈接。

+0

哇,這是我的愚蠢。現在效果很好。謝謝! :) – Sunny 2012-04-17 22:18:40

0

我認爲這是因爲urlencode()編碼除-_以外的所有非字母數字字符。

這意味着您的正斜槓會被編碼到%2F中,這不是您想要的;)然而,正如上面提到的霸主一樣,請不要將urlencode鏈接傳遞給file_get_contents()。