php遍历文件和文件夹(php遍历结果集)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享php遍历文件和文件夹的知识,其中也会对php遍历结果集进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、PHP怎么遍历一个文件夹下所有的文件,默认显示第一个内容。
- 2、php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话
- 3、php 遍历文件夹文件问题
- 4、写一个php函数,可以遍历目录下面的所有文件及子文件夹并修改后缀名
PHP怎么遍历一个文件夹下所有的文件,默认显示第一个内容。
在 php 语言里,列出一个文件夹下所有的文件,最简单的是使用 scandir 函数,示例如下:
?php
$dir = '/tmp';
$files1 = scandir($dir);
print_r($files1);
?
scandir 原型定义如下:
array scandir ( string $directory [, int $sorting_order [, resource $context ]] )
第2个参数,可以将获取的文件列表按升、降序进行排序。
php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话
/****************************
* 获取目录下的所有文件
* [$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 遍历文件夹文件问题
?php
//脚本根目录
define ( 'S_ROOT', dirname ( __FILE__ ) . DIRECTORY_SEPARATOR );
//递归查找搜索文件
function glob_recursive($pattern, $flags = 0) {
$files = glob ( $pattern, $flags );
foreach ( glob ( dirname ( $pattern ) . '/*', GLOB_ONLYDIR | GLOB_NOSORT ) as $dir ) {
$files = array_merge ( $files, glob_recursive ( $dir . '/' . basename ( $pattern ), $flags ) );
}
return $files;
}
//如果搜索所有文件可用 S_ROOT.'image/'."*.*"
//如果只是某一类文件可以 S_ROOT.'image/'."*.gif"
$filelist = glob_recursive(S_ROOT.'image/'."*.gif");
foreach ($filelist as $file) {
echo '目录 '.dirname($file).' 路径 '. $file.'br /';
}
?
执行脚本结果类似下图
写一个php函数,可以遍历目录下面的所有文件及子文件夹并修改后缀名
可以用递归的方式,还有别的方式能实现
function my_dir($dir)
{
$files = array();
if (@$handle = opendir($dir)) {
while (($file = readdir($handle)) !== false) {
if ($file != ".." $file != ".") {
if (is_dir($dir . "/" . $file)) {
$files[$file] = my_dir($dir . "/" . $file);
} else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}

关于php遍历文件和文件夹和php遍历结果集的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
