我在php中使用glob遇到了一些麻烦,虽然我做了一些研究,但我似乎无法找到问题的答案。
首先到我的目录结构:
/ (root)
/images (folder)
- gallery/ (sub folder containing image files)
/pages (folder)
- gallery.php
我想访问子文件夹' gallery'在文件夹' images'。所以:在我的gallery.php文件中,我得到了以下内容:
$images = glob("/images/gallery/*.*");
这不起作用。
如果我将路径更改为" ../ "
,工作是什么?$images = glob("../images/gallery/*.*");
或者如果我将代码更改为:
define('BASE', $_SERVER['DOCUMENT_ROOT']);
$images = glob(BASE."/images/gallery/*.*");
不幸的是,源代码显示了一些信息,我不确定我是否真的要公开
e.g.
/home/scecjwkh/htdocs/images/gallery/3.JPG
我希望我提供的信息足以真正理解我的问题。不知道为什么我在相对路径上遇到这么多麻烦o.O
提前谢谢你, 斯塔
答案 0 :(得分:1)
您通常使用__DIR__
从当前脚本的文件夹构建相对路径。您还可以使用__DIR__
来了解从最终路径中切割的部分,因为您应该知道项目在当前文件的位置,从而知道根与其相对的位置。
$images = glob(__DIR__."/../images/gallery/*.*");
获取图片列表而不关心current working dir,之后您可以使用realpath(__DIR__.'/..')
计算从每个文件路径中剪切的数量。