为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 scandir、opendir 和 glob 都不返回我的目录内容

为什么 scandir、opendir 和 glob 都不返回我的目录内容

PHP
尚方宝剑之说 2023-04-15 17:39:36
我目前正在创建一个应用程序以根据预定义的主题生成和管理项目名称。此应用程序具有非常基本的云保存功能。它非常简单,旨在通过将生成的保存数据保存在服务器上的文件中来在没有数据库的情况下工作。为了让程序下载所有已保存的文件,我需要列出服务器上一个文件夹中的所有已保存文件。但是,我似乎无法从我的服务器获得预期的响应。我尝试了 3 种不同的方法来列出所有文件,但没有一种方法返回任何文件,这对我来说似乎很奇怪。$dir = "WordPress_SecureMode_01/Bubba/";echo pathinfo($dir, PATHINFO_DIRNAME);// Open a known directory, and proceed to read its contentsif (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 方法的输出。因此,客户端和服务器之间的通信工作正常,但扫描目录文件的所有选项都不是。有谁知道为什么会发生这种行为?
查看完整描述

2 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

如果文件位于同一目录中,您要么想要使用绝对路径:

$dir = __DIR__;

或者相对路径,如果它们在同一目录中:

$dir = "./";


查看完整回答
反对 回复 2023-04-15
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

您的代码中的此处$dir不是目录,这就是代码没有前进的原因。


请通过简单地执行来检查路径,无论它是否是 dir


$dir = "WordPress_SecureMode_01/Bubba/";


if (is_dir($dir)) {

echo 'Yes';

}

else{

echo 'No';

}

如果它给你是,这意味着它与路径无关,如果它返回给你否,那么请将你的路径更改为该文件夹。


查看完整回答
反对 回复 2023-04-15
  • 2 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信