* 获取目录下的所有文件
* [$dir] 文件夹路径
****************************/
function deepScanDir($dir) {
$fileArr = array ()
$dirArr = array ()
$dir = rtrim($dir, '//')
if (is_dir($dir)) {
$dirHandle = opendir($dir)
while (false !== ($fileName = readdir($dirHandle))) {
$subFile = $dir . DIRECTORY_SEPARATOR . $fileName
if (is_file($subFile)) {
$fileArr[] = $subFile
枝卖帆 }
elseif (is_dir($subFile) && str_replace('.', '', $fileName) != '') {
$dirArr[] = $subFile
$arr = deepScanDir($subFile)
$dirArr = array_merge($dirArr, $arr['dir'])
$fileArr = array_merge($fileArr, $arr['file'])
}
}
closedir($dirHandle)
}
return array (
'dir' => $dirArr,
'file' => $fileArr
猛雹 )
}
/****************************
* 将内容写入文件
* [$filename] 文件路径
* [$contents] 文件内容
* [$type] 配衡 读写类型
****************************/
function writeFileContents($filename, $contents, $type='a') {
if (!($fd = fopen($filename, $type)))
return FALSE
if (!fwrite($fd, $contents."\n")) {
fclose($fd)
return FALSE
}
fclose($fd)
return true
}
#示例:
$dir = "/usr/local/php/test/"
$dirFiles = deepScanDir($dir)
if(!empty($dirFiles['file'])){
foreach($dirFiles['file'] as $file){
writeFileContents($file, "Hello", $type='a+')
}
}
在 php 语言里,列出一个文件夹下所有的文件,最简单的是使用 scandir 函数,示例如下:
<?php$dir = '/tmp'
$files1 = scandir($dir)
print_r($files1)
?>
scandir 原型定义如下稿枝:则册
array scandir ( string $directory [, int $sorting_order [, resource $context ]] )第2个参孙敬宏数,可以将获取的文件列表按升、降序进行排序。
遍历目樱橡录下文件,首先获取该目录下的所脊茄旁有文件名。
$folder = './folder/'foreach (scandir($folder) AS $value) {
if ($value == '.' OR $value == '..') continue
echo '文件名 : ' . $value . "纳告\n"
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)