2012-03-06 95 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.'" />'; 
} 
相关问题