2012-03-06 88 views
0

我試圖生成一些HTML代碼來列出幻燈片放映的一些圖像。獲取目錄中所有圖像文件的列表

我得出了以下的想法:

function galGetTopPhotos() 
{ 
    //path to directory to scan 
    $directory = SITE_ROOT_PATH."/gallery/best/"; 

    //get all files 
    $images = glob($directory . "*.*"); 

    //print each file name 
    $ret = ""; 
    $ret .= '<div id="myslides">';   

    foreach($images as $image) 
    { 
     $ret .= '<img src="'.$image.'" />'; 
    } 

    $ret .= '</div>'; 

    return $ret; 
} 

問題是,當我使用的根路徑$directory ...如果我使用的網址將無法正常工作,它纔會起作用。它會導致圖像無法加載。下面是此代碼生成:

<div id="myslides"> 
<img src="D:/xampp/htdocs/mrasti/gallery/best/1.jpg" /> 
<img src="D:/xampp/htdocs/mrasti/gallery/best/10.jpg" /> 
</div> 

因此問題是,如何讓文件的列表,以便它http://127.0.0.1/....格式生成IMG來源是什麼?

我的意思是如果我使用這樣的代碼,它不會返回任何文件!

$directory ="http://127.0.0.1/mrasti/gallery/best/"; 
+0

水珠的輸出取決於輸入,所以它會輸出$目錄的方式的路徑定義,而這又依賴於SITE_ROOT_PATH。 – Ynhockey 2012-03-06 15:38:12

回答

4

這看起來像PHP函數basename工作。這需要一個文件路徑,並只返回路徑的最後一個元素 - 在本例中是jpeg圖像的實際名稱。

你可以修改你的代碼,以便它看起來是這樣的:

$urlPath = "http://127.0.0.1/mrasti/gallery/best/"; 

... 
... 

foreach($images as $image) 
{ 
    $relative_path = $urlPath.basename($image); 
    $ret .= '<img src="'.$relative_path.'" />'; 
} 

以上採用的路徑和附加文件名「example.jpg」你的形象目錄網址

1

你需要有一些功能上盤轉換的文件路徑正確的URI,使你的瀏覽器可以理解。

在您的具體情況爲概述,並與你的問題給出確切的數據,下面可以工作:

foreach($images as $image) 
{ 
    $src = '/mrasti/gallery/best/'.substr($image, strlen($directory)); 
    $ret .= '<img src="'.$src.'" />'; 
} 
相關問題