scandirphp
① php的扫描目录函数scandir(),这个地方没有看懂,有知道的朋友吗
is_dir()函数用于检测是不是目录!
如果只是写$item, 那参数就只是个目录或者文件名称, 没有指明目录的具体路径, 那is_dir永远会返回false的
后面 首先是查找返回字符, substr, 第一个参数要查找的字符串, 第二个参数是查找的开始位置, 第三个参数是返回的长度, 结果就是 返回第一个字符,
那么, 恭喜你, 回答正确,确实是检查首字符不是圆点
② php中目录操作opendir()、readdir()及scandir()用法示例
本文实例讲述了php中目录操作opendir()、readdir()及scandir()用法。分享给大家供大家参考,具体如下:
opendir(path,context)若成功,则该函数返回一个目录流,否则返回
false
以及一个
error。可以通过在函数名前加上
“@”
来隐藏
error
的输出。
readdir()
函数返回由
opendir()
打开的目录句柄中的条目。若成功,则该函数返回一个文件名,否则返回
false。
scandir()
函数返回一个数组,其中包含指定路径中的文件和目录。
若成功,则返回一个数组,若失败,则返回
false。如果
directory
不是目录,则返回布尔值
false
付上2段搜到的读取目录的代码,亲测有效
显示目录中文件名
//
打开目录,然后读取其内容
if
(is_dir($dir)){
if
($dh
=
opendir($dir)){
while
(($file
=
readdir($dh))
!==
false){
echo
"filename:"
.
$file
.
"<br>";
}
closedir($dh);
}
}
拷贝一个目录的文件到另一个目录
_dir($from_dir,$to_dir);
function
_dir($from_dir,$to_dir){
if(!is_dir($from_dir)){
return
false;
}
echo
"\r\n
from:",$from_dir,'---to',$to_dir;
$from_files
=
scandir($from_dir);
//如果不存在目标目录,则尝试创建
if(!file_exists($to_dir)){
@mkdir($to_dir);
}
if(!empty($from_files)){
foreach
($from_files
as
$file){
if($file
==
'.'
||
$file
==
'..'
){
continue;
}
if(is_dir($from_dir.'/'.$file)){//如果是目录,则调用自身
_dir($from_dir.'/'.$file,$to_dir.'/'.$file);
}else{//直接到目标文件夹
($from_dir.'/'.$file,$to_dir.'/'.$file);
}
}
}
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP目录操作技巧汇总》、《php文件操作总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:使用PHP函数scandir排除特定目录PHP获取当前文件所在目录
getcwd()函数php文件夹与文件目录操作函数介绍php中判断文件空目录是否有读写权限的函数代码PHP解析目录路径的3个函数总结PHP使用glob函数遍历目录或文件夹的方法php
file_exists
检查文件或目录是否存在的函数PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结PHP删除非空目录的函数代码小结PHP目录函数实现创建、读取目录教程实例php使用scandir()函数扫描指定目录下所有文件示例
③ PHP如何读出当前目录下所有文件
一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:x0dx0a复制代码 代码如下:$dir="./caxa/";x0dx0a$file=scandir($dir);x0dx0aprint_r($file);x0dx0a稍微复杂点的,来自于php手册:x0dx0a复制代码 代码如下:$dir = "/etc/php5/";x0dx0a// Open a known directory, and proceed to read its contentsx0dx0aif (is_dir($dir)) {x0dx0aif ($dh = opendir($dir)) {x0dx0awhile (($file = readdir($dh)) !== false) {x0dx0aecho "filename: $file : filetype: " . filetype($dir . $file) . "\n";x0dx0a} closedir($dh);x0dx0a}x0dx0a}x0dx0a这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:x0dx0a复制代码 代码如下:function searchDir($path,&$data){x0dx0aif(is_dir($path)){x0dx0a$dp=dir($path);x0dx0awhile($file=$dp->read()){x0dx0aif($file!='.'&& $file!='..'){x0dx0asearchDir($path.'/'.$file,$data);x0dx0a}x0dx0a}x0dx0a$dp->close();x0dx0a}x0dx0aif(is_file($path)){x0dx0a$data[]=$path;x0dx0a}x0dx0a}x0dx0afunction getDir($dir){x0dx0a$data=array();x0dx0asearchDir($dir,$data);x0dx0areturn $data;x0dx0a}x0dx0aprint_r(getDir('.'));x0dx0a希望本文所述对大家的PHP程序设计有所帮助。
④ PHP的scandir()函数
您好,
定义和用法
scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。
若成功,则返回一个数组,若失败,则返回 false。如果 directory 不是目录,则返回布尔值 false 并生成一条 E_WARNING 级的错误。
语法
scandir(directory,sort,context)
例子
<?php
print_r(scandir("images"));
?>
输出:
Array (
[0] => .
[1] => ..
[2] => dog.jpg
[3] => house.jpg
[4] => logo.gif
)
PS
路径不存在会返回一个warning级报错,所以用的时候一般要加 @ 抑错。