本文目录一览:
怎么让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来写也是相同的。