【发布时间】:2020-05-24 18:06:07
【问题描述】:
我目前正在创建一个应用程序,以根据预定义的主题生成和管理项目名称。此应用程序具有非常基本的云保存功能。它非常简单,旨在通过将生成的保存数据保存在服务器上的文件中,无需数据库即可工作。
为了让程序下载所有保存的文件,我需要在服务器上的一个文件夹中列出所有保存的文件。但是,我似乎无法从我的服务器获得预期的响应。我尝试了 3 种不同的方法来列出所有文件,但没有一个返回任何文件,这对我来说似乎很奇怪。
$dir = "WordPress_SecureMode_01/Bubba/";
echo pathinfo($dir, PATHINFO_DIRNAME);
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
$files = scandir('WordPress_SecureMode_01/Bubba/');
foreach($files as $file){
echo $file;
echo pathinfo($file, PATHINFO_FILENAME);
}
$entries = glob('WordPress_SecureMode_01/Bubba/*.txt');
foreach($entries as $entry){
echo $entry;
}
如您所见,我现在使用三种不同的方法来检索文件。 opendir、scandir 和 glob。他们的所有发现都得到了回应,因此我的应用程序可以检索到。但是,我的应用程序接收的唯一数据是脚本顶部的 pathinfo 方法的输出。因此,客户端和服务器之间的通信工作正常,但扫描目录文件的所有选项都没有。
有人知道为什么会发生这种行为吗?
【问题讨论】:
-
您使用的是相对路径。对于踢球,您是否尝试过完整路径?
-
这个脚本在什么目录下?大概是
WordPress_SecureMode_01/? -
@Machavity 考虑到 'WordPress_SecureMode_01' 在根文件夹中,这不是完整路径吗?
-
@AbraCadaver 它在'WordPress_SecureMode_01/Bubba'里面
-
然后是完整路径例如
/var/html/WordPress_SecureMode_01/Bubba/使用echo __DIR__;来查看。或者真的只是./
标签: php list directory scandir