【发布时间】:2017-08-07 07:11:56
【问题描述】:
我正在尝试在 PHP 中检索文件的路径,但我目前卡住了。我有一个这样的文件夹结构:
- folder 1/
- folder 2/
- subfolder 2.1/
- subfolder 2.2/
- subfolder 2.2.1/
- subfolder 2.2.2/
- targetFile.txt
- script1.php
- script2.php
- .htaccess
- file1.php
- file2.php
- file3.php
- getFile.php
.htaccess
- Folder 3/
- Folder 4/
...
我希望在运行getFile.php 脚本时获得targetFile.txt 的relative 路径。目标文件始终位于与 getFile.php 位于同一父文件夹中的文件夹中。如果上面的相对路径应该打印出来:
subfolder 2.2.2/targetFile.txt
这是我目前所拥有的:
$dir = getcwd(); // Getting the current working dir
$files = scandir($dir); // Get all files and folders within the working dir
foreach ($files as $file) {
if ($file = 'targetFile.txt') { // Look for a file that matches the targeted file name
echo dirname($file);
}
}
上面的代码不能正常工作,因为我没有得到目标文件的相对路径。
任何帮助表示赞赏。
【问题讨论】:
-
无法正常工作是什么意思?
-
为了确保我理解正确:您能提及您的
getFile.php所在的目录吗? -
@Twinfriends getFile.php 总是在同一个父目录中。问题是targetFile.txt 的子目录正在改变,所以我需要启动相对于getFile.php 的路径。希望我理解你的问题。
-
@MayankPandeyz 上面的代码只是返回点...
-
@g5wx 所以在你的情况下 getFile.php 在文件夹子文件夹 2.2 或子文件夹 2.2.2 中?那个目录很难命名?如果有人问您文件夹名称,只需说出文件夹名称.. 不要再开始谈论子文件夹/父文件夹。这只会让人们感到困惑,因为在您呈现的文件夹结构中,您大约有 4 个深度级别。