php
  • image
  • path
  • absolute
  • 2009-12-09 114 views 1 likes 
    1

    我在獲取遠程圖像的絕對URL時遇到問題。我現在正在做的是:PHP找到遠程絕對路徑

    foreach($html->find('img') as $e){ 
    $path = parse_url($e->src, PHP_URL_PATH); 
    $absolute = realpath($path); 
        if($e->src==$path){ 
        echo '<img class="pic" src=' . $absolute . '/><br/>'; 
        } 
    
    } 
    

    此代碼已經使用簡單的html dom項目編寫。 ideea是我無法在原始編碼中顯示帶有相對網址的圖像,因爲它們不在我的服務器上。

    那麼有誰知道如何解決遠程圖像的絕對路徑?

    +0

    我不太明白你的意思是遠程URL的絕對路徑。您不能使用絕對路徑來引用遠程文件。您需要使用由** $ e-> src **返回的標準** http://www.path.com/to/file.jpg** – 2009-12-09 13:42:31

    回答

    1

    您需要抓取基本域以及相對的URL根目錄。

    因此,如果在頁面上找到圖像yoursite.com/slideshow/4/view,但是相對指向./../../images/435.jpg,則只需將路徑。否則,如果圖像指向域的根目錄(可以使用正則表達式來查找第一個字符是否爲/),那麼只需使用yoursite.com並將該路徑添加到該字符串即可。

    看看http://php.net/manual/en/function.parse-url.php解析到網站主機,該網站的主機相關頁面的網址。

    0

    如果您知道過濾這些圖像的地址,爲什麼不把它添加到src屬性返回的內容?

    0

    如果你正在做很多事情(比如整個網站),你可以看看wget背後的力量。

    其中一個選項是重建URL,IIRC。

    -k - 轉換鏈接

    可能是值得你花時間考慮看看wget

    相關問題