2011-01-12 93 views
4

我可以使用類似這樣的方式來檢索相對於域的外部頁面。file_get_contents將url作爲變量

<?php 
    $q_pass =$_REQUEST['query_passed']; 
    $fetcher = "http://www.abc.com/search?q=".$q_pass; 
$homepage = file_get_contents($fetcher); 
echo $homepage; 
?> 

我已經傳遞了一個變量,並希望從abc.com中檢索結果。 $ fetcher可以傳遞給file_get_contents來檢索頁面的內容嗎?當我打開這個php頁面時,我正在變得空白頁面。但它再次工作正常,如果我使用類似

<?php 
     $fetcher = "http://www.abc.com/search?q=query"; 
     $homepage = file_get_contents($fetcher); 
     echo $homepage; 
?> 

這裏發生了什麼?有沒有一些技術性的解釋呢?

+1

當然,這是可能的。嘗試debgugging`$ _REQUEST [「query_passed」]`以找出出錯的地方 – 2011-01-12 18:40:32

+1

由於某些原因,沒有設置$ _REQUEST ['query_passed']`。這是一個GET或POST請求?瀏覽器窗口中的查詢字符串(`?`後面的位)是什麼? – lonesomeday 2011-01-12 18:41:30

回答

4

您應該在$ q_pass上使用urlencode。我猜你在query_passed中傳遞了一個空值的值。