使用PHP获取目录中的文件信息

使用PHP获取目录中的文件信息,php,drupal,drupal-8,drupal-modules,Php,Drupal,Drupal 8,Drupal Modules,我目前正在Drupal中构建一个自定义模块。我试图获取一些文件信息(例如文件名、修改或上传日期等),然后在表中显示这些信息 这些文件都是PDF格式的,通过FTP上传 以下是我用作参考的一些链接: 我正在使用glob()并仔细检查路径是否正确,但我一直得到一个空数组。下面是我的代码,我去掉了这个问题不需要的大部分信息。我在代码中有3种不同的尝试,但我没有同时运行所有3种 <?php namespace Drupal\Documents\Controller; use Drupal\

我目前正在Drupal中构建一个自定义模块。我试图获取一些文件信息(例如文件名、修改或上传日期等),然后在表中显示这些信息

这些文件都是PDF格式的,通过FTP上传

以下是我用作参考的一些链接:

我正在使用glob()并仔细检查路径是否正确,但我一直得到一个空数组。下面是我的代码,我去掉了这个问题不需要的大部分信息。我在代码中有3种不同的尝试,但我没有同时运行所有3种

<?php 

namespace Drupal\Documents\Controller;

use Drupal\Core\Controller\ControllerBase;

class DocumentController extends ControllerBase  {

    public function documents(){

        global $base_url;

        $testPath = $base_url . '/sites/default/files/documents/';

        //Attempt One
        $newPath = $base_url . '/sites/default/files/documents/*.*';

        foreach(glob($newPath) as $file) {
            print_r($file);
            print_r('test');
        }

        //Attempt 2
        $log_directory = $base_url . '/sites/default/files/documents';

        print_r($log_directory);

        $results_array = array();

        if (is_dir($log_directory))
        {
                if ($handle = opendir($log_directory))
                {
                        //Notice the parentheses I added:
                        while(($file = readdir($handle)) !== FALSE)
                        {
                                $results_array[] = $file;
                                print_r('Testing');
                        }
                        closedir($handle);
                }
        }

        //Output findings
        foreach($results_array as $value)
        {
            echo $value . '<br />';
        } 

        //Attempt 3
        foreach (array_filter(glob($base_url . '/sites/default/files/documents/*'), 'is_file') as $file)
        {
            echo 'Test';
        }


    }
}

欢迎来到SO!$base\u url的价值是什么?您不能链接到localhost,因为它是您自己的计算机/服务器,无法通过internet访问(无论如何,不是那样:-)$base\u url的价值是谢谢您,哇!!我没有想到,在我的本地服务器上没有办法做到这一点吗?
glob
在目录而不是URL上工作。您需要文件能够使用
glob
的绝对路径。欢迎使用SO!$base\u url的价值是什么?您不能链接到localhost,因为它是您自己的计算机/服务器,无法通过internet访问(无论如何,不是那样:-)$base\u url的价值是谢谢您,哇!!我没有想到,在我的本地服务器上没有办法做到这一点吗?
glob
在目录而不是URL上工作。您需要文件能够使用
glob
的绝对路径。