2015-09-26 47 views
-3

我是新來的PHP語言,它將是偉大的得到。 在文本框中輸入網址,然後點擊該按鈕,然後使用面向對象的PHP和正則表達式在網頁的div中顯示該網址中的所有圖片。我想從其他網站獲取圖片,但代碼不起作用

<?php 

if(isset($_POST["btnGo"])){ 
    $url=$_POST["txtUrl"];  
    $obj=new ImageExtractor(); 
    $obj->extract_image2($url); 
} 

//class ImageExtractor 
class ImageExtractor{ 

//method 1 
    function extract_image($url){ 
    $html=file_get_contents($url); 
    preg_match_all('/<img[^>]+src=([\'"])([^"\']+)\1/i',$html,$matches); 

    foreach($matches[2] as $image){  
    echo "<img src='".$image."' width='200' height='100' style='margin:5px;' />"; 
    } 
    } 

//method 2 
function extract_image2($url){ 
    $html = file_get_contents($url); 

    $doc = new DOMDocument(); 
    @$doc->loadHTML($html); 

    $tags = $doc->getElementsByTagName('img'); 

    foreach ($tags as $tag) { 
       echo "<img src='".$tag->getAttribute('src')."' width='200' height='100' style='margin:5px;' />"; 
    } 
    } 
} 

?> 
<form action="#" method="post"> 
<input type="text" name="txtUrl" value="https://yahoo.com" placeholder="Enter URL" /> 
<input type="submit" name="btnGo" value="Go"/> 
</form> 
+0

請發佈一個不適合你的示例圖片url。 你確定這個網址存在嗎? –

回答

-1

試試這個代碼:

<?php 

if(isset($_POST["btnGo"])){ 
    $url=$_POST["txtUrl"]; 
    $obj=new ImageExtractor(); 
    $obj->extract_image2($url); 
} 

//class ImageExtractor 
class ImageExtractor{ 

//method 1 
    function extract_image($url){ 
    $html=file_get_contents($url); 
    preg_match_all('/<img[^>]+src=([\'"])([^"\']+)\1/i',$html,$matches); 

    foreach($matches[2] as $image){  
    echo "<img src='".$url."/".$image."' width='200' height='100' style='margin:5px;' />"; 
    } 
    } 

//method 2 
function extract_image2($url){ 
    $html = file_get_contents($url); 
    $doc = new DOMDocument(); 
    @$doc->loadHTML($html); 
    $tags = $doc->getElementsByTagName('img'); 
    foreach ($tags as $tag) { 
       echo "<img src='".$url."/".$tag->getAttribute('src')."' width='200' height='100' style='margin:5px;' />"; 
    } 
    } 
} 
?> 
<form action="#" method="post"> 
<input type="text" name="txtUrl" value="http://tinamo.ir" placeholder="Enter URL" /> 
<input type="submit" name="btnGo" value="Go"/> 
</form> 

但是這個代碼不到風度上的所有網站的工作,你可以浸出圖片到你的空間,並表明,從你的空間圖像(主機) 問候 Soroush

+1

OP代碼有什麼區別? –

+0

in this line:echo「「; –