×

phpglob指定路径

phpglob指定路径(php获取路径文件名)

admin admin 发表于2023-03-27 02:25:08 浏览72 评论0

抢沙发发表评论

本文目录一览:

怎么让PHP的glob()函数把中文的文件匹配到

php glob()函数返回匹配指定模式的文件名或目录。

该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。

语法为: glob(pattern,flags);

需要说明的是,在Unix下,路径用/分开,在windows下/和\都可以的.注入传入的路径.

PHP 遍历删除指定文件

array_map('unlink',glob('path/cookie.*')); //删除path目录下所有以cookie命名的文件 参数都可以自己修改的 不如指定目录 指定名称 指定文件后缀

glob() 函数返回匹配指定模式的文件名或目录

unlink()函数删除文件

array_map() 函数返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给array_map() 函数的数组数目一致

PHP中glob()函数查找指定后缀名的文件

建议参考以下代码

A simple function that find all files by extension an return it by an array.

?php

function findFiles($directory, $extensions = array()) {

    function glob_recursive($directory, $directories = array()) {

        foreach(glob($directory, GLOB_ONLYDIR | GLOB_NOSORT) as $folder) {

            $directories[] = $folder;

            glob_recursive("{$folder}/*", $directories);

        }

    }

    glob_recursive($directory, $directories);

    $files = array ();

    foreach($directories as $directory) {

        foreach($extensions as $extension) {

            foreach(glob("{$directory}/*.{$extension}") as $file) {

                $files[$extension][] = $file;

            }

        }

    }

    return $files;

}

var_dump(findFiles("C:", array (

    "jpg",

    "pdf",

    "png",

    "html"

)));

?

把C:改成你需要查找的路径,里面放后缀,测试可用。

php如何读取某目录下的所有同类型文件

PHP使用函数opendir、readdir、closedir来实现文件夹的操作,下面以一个最基本的例子来作为入门介绍:

?php

//获取某目录下所有文件、目录名(不包括子目录下文件、目录名)  

    $dir='C:/Users/';

    $handler = opendir($dir);  

    while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名“0”等情况  

        if ($filename != "."  $filename != "..") {  

                $files[] = $filename ;  

           }  

       }  

    }  

    closedir($handler);  

       

//打印所有文件名  

    foreach ($filens as $value) {  

        echo $value."br /";  

    }  

?

上面的代码显示c:\users文件夹里面的所有的文件和文件夹,忽略.和..两个特殊含义的文件夹,程序把所有文件和文件夹名称扫描保存到数组里面,然后显示。

如果你需要对文件进行过滤,例如只处理*.xls文件,可以在过滤.和..的地方添加代码。例如:

if (substr($filename,-4)=='.xls'){

当你理解了上面的代码之后,你就能编写扫描子文件夹、以及子 文件夹里面文件的方法了。基本思路是使用递归,下面我给出一个简单的例子:

function get_allfiles($path,$files) {  

    if(is_dir($path)){  

        $dp = dir($path);  

        while ($file = $dp -read()){  

            if($file !="."  $file !=".."){  

                get_allfiles($path."/".$file, $files);  

            }  

        }  

        $dp -close();  

    }  

    if(is_file($path)){  

        $files[] =  $path;  

    }  

}  

     

function get_filenamesbydir($dir){  

    $files =  array();  

    get_allfiles($dir,$files);  

    return $files;  

}  

     

$filenames = get_filenamesbydir("c:/users/");  

//打印所有文件名,包括路径  

foreach ($filenames as $value) {  

    echo $value."br /";  

}

这个例子使用dir类来编写,实际上用opendir、readdir、closedir来写也是相同的。