鍍金池/ 問(wèn)答/PHP/ PHP讀取某個(gè)文件夾下的文件

PHP讀取某個(gè)文件夾下的文件

某一個(gè)指定文件夾下有一個(gè)文件,現(xiàn)在只知道這個(gè)文件的路徑,比如test/file1/,文件的名字不知道。file get content這個(gè)函數(shù)不起作用,看了下它的參數(shù)是要指定到文件名字為止。pho有沒(méi)有什么方法能夠通過(guò)文件路徑讀到里面的文件的?不僅要讀出來(lái),還需要設(shè)置header,訪問(wèn)的時(shí)候以附件的形式下載出來(lái)

回答
編輯回答
舊城人

function getFile($path)
{

    foreach (glob($path) as $file) {
        if (is_dir($file)) {
            getFile($file.'/*');
        } else {
            echo  $file."\n";
        }
    }

}

2018年8月7日 16:17
編輯回答
不舍棄

php scandir() 讀取相應(yīng)的文件即可,至于下載,已經(jīng)拿到了文件名,迎刃而解

2017年11月6日 23:40
編輯回答
朕略傻

判斷文件類(lèi)型, 可以使用 finfo 類(lèi), 可以直接讀出文件的MIME類(lèi)型.

glob(), scandir(), 以及類(lèi)new RecursiveIteratorIterator(new RecursiveDirectoryIterator ())

$fn = new RecursiveIteratorIterator(new RecursiveDirectoryIterator ('./logs'));

foreach ($fn as $k => $v) {
    var_dump($k, $v);
}

$fi = new finfo(FILEINFO_MIME);

var_dump($fi->file(__FILE__));

推薦使用類(lèi).

2017年7月19日 10:54
編輯回答
命多硬

可以使用 glob 函數(shù)。
http://php.net/manual/zh/func...
至于header,可以粗略通過(guò)文件后綴名來(lái)預(yù)定義一個(gè)數(shù)組。

2017年6月2日 21:55