为了账号安全,请及时绑定邮箱和手机立即绑定

想要使用PHP获取文件夹名字?我该怎么操作?

想要使用PHP获取文件夹名字?我该怎么操作?

慕容708150 2021-06-22 18:15:40
例如有一个文件夹/tmp在/tmp下面有若干个文件夹,名字没有特别的规律例如/tmp/cc/tmp/s9/tmp/3sx反正无论名字的字节数,内容都没有规律如何用PHP获取/tmp文件夹内的所有二级文件夹的名字即只需要/tmp的下级即可,不需要获取/tmp里面的文件夹的里面的文件夹/tmp/a/b只需要获取a,不用获取b如何写呢..把结果写入数组..目录名还会涉及到中文的... 
查看完整描述

3 回答

?
MM们

TA贡献1886条经验 获得超2个赞

$handle = opendir('/tmp');
$arr = array();
while($file = readdir($handle)){
$newpath="/tmp/".$file;
if(is_dir($newpath)) $arr[] = $newpath ;
}

print_r($arr);

我是一楼的,我现在来补充回答你的问题:

1.以上程序 经过我测试,是完全正确的。

2.请确认你的路径是否正确,是根目录呢,还是当前目录,如果是当前目录(重要)

3.请确认是否有权限读取目录

4.中文的情况,只要编码设置正确即可(我测试时候设置为GBK的)

查看完整回答
反对 回复 2021-06-27
?
Helenr

TA贡献1780条经验 获得超3个赞

函数是返回指定目录下的所以一级文件名
function find_dir($dirname){
$arr = array();
if( false === $dir = @opendir($dirname) ) return;
while( false !== ($tmpname = readdir($dir)) ){
if($tmpname == "." || $tmpname == "..") continue;
if($tmpname){
$info = pathinfo($tmpname);
$arr[] = $info['filename'];
}
}
return $arr;
}
调用
echo "<pre>";print_r(find_dir("."));


查看完整回答
反对 回复 2021-06-27
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

<?php
function getSubDirs($dir) {
$subdirs = array();
if(!$dh = opendir($dir)) return $subdirs;
while ($f = readdir($dh)) {
if($f =='.' || $f =='..') continue;
$path = $dir.'/'.$f; //如果只要子目录名, path = $f;
if(is_dir($path)) {
$subdirs[] = $path;
}
}
return $subdirs;
}

$arr = getSubDirs('/tmp');
print_r($arr);



查看完整回答
反对 回复 2021-06-27
  • 3 回答
  • 0 关注
  • 539 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信