当php文件在不同文件夹中运行时,如何引用同一目录
我当前的文件夹结构需要不同文件夹和文件夹级别中的php文件。我使用foreach抓取多个文件并在模板中显示它们。如果我知道foreach将根据使用它的php走向何方,它就可以正常工作。但是,一旦不同的php文件从不同的目录使用foreach,它就无法正确地找到它 目前:当php文件在不同文件夹中运行时,如何引用同一目录,php,foreach,directory,Php,Foreach,Directory,我当前的文件夹结构需要不同文件夹和文件夹级别中的php文件。我使用foreach抓取多个文件并在模板中显示它们。如果我知道foreach将根据使用它的php走向何方,它就可以正常工作。但是,一旦不同的php文件从不同的目录使用foreach,它就无法正确地找到它 目前: <?php foreach (glob("media/*.jpg") as $filename){ echo $filename; ?> 在查看媒体/图像之前,有没有办法让foreach.php引用相同的文件夹?如
<?php
foreach (glob("media/*.jpg") as $filename){
echo $filename;
?>
在查看媒体/图像之前,有没有办法让foreach.php引用相同的文件夹?如果list1.php和list2.php使用foreach.php,它会工作吗?绝对有效!您要查找的是一个链接,它是一个前缀为正斜杠的链接:
<?php
foreach (glob("/media/*.jpg") as $filename){
echo $filename;
?>
根相对超链接是相对超链接的子集,其中所有链接都假定从站点的根文件夹(域名)开始
上面的代码在根级别查找媒体
文件夹中的任何文件。无论运行此代码的文件放置在何处,这都将起作用
希望这有帮助!:) 如果您遇到一些奇怪的相对路径问题。尝试创建与文件相关的路径 e、 g 或文档根目录(注意,这是一个文件路径): 或者定义您自己的公共基本路径,并使其成为相关的:
get_my_files_path() . '/media/*.jpg'
如果需要,可以将其定义为常量。或者作为代码中的可配置变量
从手册(ini包括路径)中:
include_path string指定目录列表,其中,
include、fopen()、file()、readfile()和file_get_contents()函数
查找文件
不是地球仪
相对路径将与当前工作目录相对。?您是指文档根相对路径吗。i、 e.带有文档根的前缀:
$\u服务器['document\u root']/media/*.jpg'
?实际上不需要使用$\u SERVER['document\u root']
指定文档根目录,因为glob()
与指定的模式匹配。模式开头的/
本身说明它应该在文档根目录中查找。您是否尝试了您的代码?Glob将其读取为相对于系统根的绝对文件路径。除非Php被监禁。或者更确切地说,这是毫无意义的,如果我想在文档根目录之外遍历文件系统的一部分呢?据我所知,正斜杠在PHP中不起作用。PHP可以比html看得更远,因为它是由服务器运行的。在“list2.php”中测试时,它找不到根目录,并在不存在的“posts/”中查找“media/”。另一种方法是退出带有“../media”的文件,但这会破坏“list1.php”,我已经尝试了\uuuuuuuuuuuuuuuu DIR\uuuuuuuuu
和$\u SERVER['DOCUMENT\u ROOT']/media/*.jpg'
当从那里搜索时,我如何设置默认文件夹以查找和引用它?魔法常量\uuuuuu DIR\uuuu
两边都有两个下划线,而不是三个。@Skaldsyn默认文件夹是什么意思?
__DIR__ . '/media/*.jpg'
$_SERVER['DOCUMENT_ROOT'] . '/media/*.jpg'
get_my_files_path() . '/media/*.jpg'