2013-07-01 201 views
0

我正嘗試使用file_get_contents PHP函數下載圖像。file_get_contents不適用於某些圖像

它通過GET接收urlencode(url)並返回內容。 這是代碼:

<?php 
    $url=($_GET["url"]); 
    $url2 = ("http://www.liberoquotidiano.it/resizer.jsp?w=500&h=-1&maximize=true&img=upload/cut1372677360319.jpg&filetype=image.jpg"); 

    echo "<br>Url 1 is via GET <br> Url2 is a variable instantiated in the script and its value is manually inserted."; 
    echo "<br>file_get_contents Url2 work, but with url1 not,althought the url content is the same. "; 
    echo "<br>1.url= ".$url; 
    echo "<br>2.url= ".$url2; 

    $r=strcmp($url2,$url); 
    if($r==0){ 
     echo "correct"; 
    }else{ 
     echo "<br><br>string compare with url and url2 return ".$r; 
    } 
    echo "<br><br>launch: file_get_contents(url) => "; 
    $image_data = file_get_contents($url); 

    echo $image_data; 
     ?> 

url和URL2相同,但PHP代碼的strcmp返回1,而不是0 ...我不明白爲什麼。 如果我啓動

file_get_contents($url); 

它不工作,我還沒有返回的任何值。 如果我啓動

file_get_contents($url2); 

它正常工作。

好奇的是,url和url2包含相同的值,但結果不同。

這是在腳本的鏈接: http://www.clouderize.it/michele/get_cont.php?url=http%3A%2F%2Fwww.liberoquotidiano.it%2Fresizer.jsp%3Fw%3D500%26amp%3Bh%3D-1%26amp%3Bmaximize%3Dtrue%26amp%3Bimg%3Dupload%2Fcut1366795446185.jpg%26amp%3Bfiletype%3Dimage.jpg

可能是什麼問題? 非常感謝。

回答

1

$ url = $ _GET ['url];

您是否在使用任何html類型的東西來獲取網址。是否在那裏用戶輸入的網址與HTML標籤太多,或者你是包括一些網址的HTML標籤。因爲,如果strcmp沒有給出0作爲輸出,這意味着兩個url字符串不相等。肯定有什麼是造成這個問題的原因。它可以是html標籤。只需檢查一次。

+0

有了,我已經發布我發了僅僅用這個GET頭值的URL(所以我認爲它不是這樣的,你提的問題): URL = HTTP%3A%2F%2Fwww.liberoquotidiano。它%2Fresizer.jsp%3Fw%3D500%26amp%3Bh%3D-1%26amp%3Bmaximize%3Dtrue%26amp%3Bimg%3Dupload%2Fcut1366795446185.jpg%26amp%3Bfiletype%3Dimage.jpg – michele

+0

我沒有看到任何關於html在獲取參數 – michele

0

Oks問題是,在url中有一些&我用&代替這些。

$src=str_replace("&amp;", "&", $src); 
相關問題