当 php 文件在不同的文件夹中运行时,如何引用同一个目录



我当前的文件夹结构需要不同文件夹和文件夹级别的php文件。我正在使用foreach来抓取多个文件并将它们显示在模板中。如果我知道foreach的去向是根据使用它的php,它可以正常工作。但是,一旦不同的 php 文件使用来自不同目录的 foreach,它就无法正确找到它。

现在:

<?php
foreach (glob("media/*.jpg") as $filename){
echo $filename;
?>

文件:

list1.php
foreach.php
-media/
image1.jpeg
image2.jpeg
image3.jpeg
-posts/
list2.php

有没有办法让我在查看媒体/图像之前引用同一个文件夹.php?如果 list1.php 和 list2.php使用 foreach.php,它会起作用吗?

当然!您要查找的是根相对链接,该链接以正斜杠为前缀:

<?php
foreach (glob("/media/*.jpg") as $filename){
echo $filename;
?>
根相对超链接

是相对超链接的子集,其中假定所有链接都从站点的根文件夹(域名(开始。

上面的代码在根级别查找media文件夹中的任何文件。无论运行此代码的文件放置在何处,这都将起作用。

希望这有帮助! :)

如果您遇到一些奇怪的相对路径问题。 尝试相对于文件创建路径。

例如

__DIR__ . '/media/*.jpg'

或文档根目录(注意这是一个文件路径(:

$_SERVER['DOCUMENT_ROOT'] . '/media/*.jpg'

或者定义你自己的公共基本路径,并从中做出相对的:

get_my_files_path() . '/media/*.jpg'

如果需要,您可以将其定义为常量。 或者作为代码中的可配置变量。

从手册(ini 包含路径(:

include_path字符串 指定需要的目录列表, include, fopen((, file((, readfile(( 和 file_get_contents(( 函数 查找文件。

不是球。

相对路径将相对于当前工作目录。

最新更新