我目前正在创建一个应用程序,以根据预定义主题生成和管理项目名称。这个应用程序具有非常基本的云保存功能。它的设计超级简单,通过将生成的保存数据保存在服务器上的文件上,无需数据库即可工作。
为了让程序下载所有保存的文件,我需要在服务器上的一个文件夹中列出所有保存的文件。然而,我似乎无法从服务器上得到预期的响应。我已经尝试了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方法的输出。所以,客户端和服务器之间的通信是正常的,但是所有扫描目录文件的选项都不正常。
有人知道为什么会出现这种行为吗?
如果文件在同一个目录下,你可以使用绝对路径。
$dir = __DIR__;
或者使用相对路径,如果它们在同一个目录下。
$dir = "./";
在你的代码中 $dir
不是一个目录,这就是代码不能前进的原因。
请检查路径,是否是dir,只需执行
$dir = "WordPress_SecureMode_01/Bubba/";
if (is_dir($dir)) {
echo 'Yes';
}
else{
echo 'No';
}
如果它给你 是的,是的 这意味着它不是关于路径,如果它返回你 没有 那么请更改你的路径到该文件夹。