我在 php 中使用 glob 时遇到了一些问题,尽管我做了一些研究,但我似乎找不到问题的答案。
首先是我的目录结构:
/ (root)
/images (folder)
- gallery/ (sub folder containing image files)
/pages (folder)
- gallery.php
我想访问“images”文件夹中的“gallery”子文件夹。所以:在我的 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 上遇到这么多麻烦
预先感谢您, 施图本
最佳答案
您通常做的是使用 __DIR__
从当前脚本的文件夹构建相对路径。您还可以使用 __DIR__ 来知道从最终路径中删除哪一部分,因为您应该知道当前文件在项目中的位置,从而知道根目录相对于它的位置。
$images = glob(__DIR__."/../images/gallery/*.*");
获取图像列表而不关心 current working dir ,之后您可以使用 realpath(__DIR__.'/..')
计算出从每个文件路径中剪切多少内容。
关于php - glob - 设置相对路径根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32922666/