php glob获得正确的路径

时间:2012-02-27 19:49:32

标签: php path glob

我需要将图像从特定文件夹加载到数组。

我使用glob函数并且路径有一些问题。

我通过jquery中的$ .getJSON调用php脚本并传递文件夹中第一个图像的url。

$filename = $_GET['fname'];
$thumbsPath = dirname($filename);    
$images = glob($thumbsPath.'*.{jpg,jpeg,png,gif}', GLOB_BRACE);
  • $ filename是localhost / myproject / images / 10.jpg
  • $ thumbsPath是localhost / myproject / images /
  • php scritp文件夹是localhost / myproject / scripts /

文件结构是:

localhost
-scripts/
--script.js
--globscript.php
-images/
--10.jpg
--11.jpg
--12.jpg
--...
-index.html
只有当我使用 ../ images / 作为路径时,

和glob函数才会返回结果。

我该如何解决? THX!

另一个问题是,在结果数组中我需要相对于index.html的url或pathes ...

2 个答案:

答案 0 :(得分:2)

也许这会做你想要的:

$dir = dirname($filename);
$dh = opendir($dir);
while ($img = readdir($dh)) {
    // type validation with filetype($dir.$img);
}
closedir($dh);

这样,图像文件夹

的位置应该永远不变

答案 1 :(得分:1)

试试这个:

$filename = $_GET['fname'];
$thumbsPath = $_SERVER['DOCUMENT_ROOT'] . 'myproject/images/' . $filename;    
$images = glob($thumbsPath.'*.{jpg,jpeg,png,gif}', GLOB_BRACE);