function scan_dir($arr){
$array=scandir($arr);
foreach ($array as $val){
if($val!="." && $val!=".." && is_dir($arr."/".$val)){
scan_dir($arr."/".$val);
}else{
echo $arr."/".$val."<br/>";
}
}
}
主要是if语句里的 $val!="." && $val!=".." 这是什么意思?
这句PHP代码是什么意思?
答案:6 悬赏:30 手机版
解决时间 2021-02-03 21:25
- 提问者网友:沉默菋噵
- 2021-02-03 08:33
最佳答案
- 五星知识达人网友:像个废品
- 2021-02-03 08:56
这个定义的函数不够严谨,应该这样定义
function scan_dir($sDir){ //扫描指定的路径下的所有目录
$array=scandir($sDir); //直接扫描目录,PHP的内部系统函数
foreach ($array as $val){ //将得到的目录罗列出来
if($val!="." && $val!=".." && is_dir($sDir."/".$val)){ //目录不不 . 并且不是 ..的目录,并且并且取出的这个目录名称是不是有效的目录名字
scan_dir($sDir."/".$val); //如果是有效的目录名,递归一下再调用自己.
}else{
echo $sDir."/".$val."<br/>"; //如果不是目录,(那么就是文件了,直接显示出来)
}
}
}
'.'与'..' 在 WINDOWS还是LINUX 下都是系统目录,任何一个目录下都是有的,一个是代表当前的目录,另一个代表上一级目录.
如 cd . 执行后永远是当前目录,而 cd ..则返回上一级目录,可以在dos下自己去试一下就会理解了.(开始->运行->cmd 进入DOS终端)
function scan_dir($sDir){ //扫描指定的路径下的所有目录
$array=scandir($sDir); //直接扫描目录,PHP的内部系统函数
foreach ($array as $val){ //将得到的目录罗列出来
if($val!="." && $val!=".." && is_dir($sDir."/".$val)){ //目录不不 . 并且不是 ..的目录,并且并且取出的这个目录名称是不是有效的目录名字
scan_dir($sDir."/".$val); //如果是有效的目录名,递归一下再调用自己.
}else{
echo $sDir."/".$val."<br/>"; //如果不是目录,(那么就是文件了,直接显示出来)
}
}
}
'.'与'..' 在 WINDOWS还是LINUX 下都是系统目录,任何一个目录下都是有的,一个是代表当前的目录,另一个代表上一级目录.
如 cd . 执行后永远是当前目录,而 cd ..则返回上一级目录,可以在dos下自己去试一下就会理解了.(开始->运行->cmd 进入DOS终端)
全部回答
- 1楼网友:不如潦草
- 2021-02-03 13:42
不是当前目录(.)或者上级目录 (..)
- 2楼网友:白昼之月
- 2021-02-03 13:35
$catid = empty($_get['catid'])?0:intval($_get['catid']);
这是三元运算符,不是什么链接。
意思是:如果获取的$_get['catid']是空的话,就把0赋值给$catid,如果不为空,就把$_get['catid']取整后赋值给$catid。
- 3楼网友:孤老序
- 2021-02-03 13:25
不要被误导
如果Linux 里面输入 ls -al 命令,会出现 . .. 和其他的文件名
如果仅仅是 . .. 那么表示当前文件夹里面没有文件 即为空文件夹
括号里,你在问的 $val!="." && $val!=".." 是在判断 是否不为空文件夹
- 4楼网友:迟山
- 2021-02-03 11:50
点:当前文件夹;
点点:上一级文件夹;
.和..是打开目录函数时所产生的两个值,无意义而且影响遍历,所以跳过.
- 5楼网友:第幾種人
- 2021-02-03 10:11
$val!="." && $val!=".."
这个代码是遍历文件夹
.表示当前目录 ..表示上级目录
if($val!="." && $val!=".." && is_dir($arr."/".$val)){
这句话的意思就是 如果$val不等于当前目录 同时不等于上级目录 同时又是个目录
才执行下面的代码块
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯