首页 > 编程语言 >php遍历文件夹以及子目录;

php遍历文件夹以及子目录;

时间:2024-09-01 20:47:46浏览次数:10  
标签:文件夹 遍历 php 子目录 以及

php遍历文件夹以及子目录
<?php


function my_dir($folderPath){
	$arr_subdictory = array();
	if (@$handle = opendir($folderPath)) {
		while (false !== ($entry = readdir($handle))) {
			if ($entry != "." && $entry != ".." ) { // 排除更目录
				
				if (is_dir($folderPath ."/". $entry)) { // 如果是子文件夹,就进行递归;
					$arr_subdictory[$entry] = my_dir($folderPath. "/" . $entry);
				} else {
					$arr_subdictory[] = $folderPath ."/". $entry;
					
				}
				
				
			}
		}
		closedir($handle);
		return $arr_subdictory;
	}
}

function flattenArray($array) {
    $result = array();
    
    foreach ($array as $item) {
        if (is_array($item)) {
            $result = array_merge($result, flattenArray($item));
        } else {
            $result[] = $item;
        }
    }
    
    return $result;
}

$folderPath = 'D:/ssdf/dda/agag'; // 替换为你的文件夹路径
$arr_end = my_dir($folderPath);
$arr_result = flattenArray($arr_end ); // 将多余维多数组变成一维数组;
echo $arr_result[array_rand($arr_result )]; // 随机返回一条记录;

标签:文件夹,遍历,php,子目录,以及
From: https://www.cnblogs.com/szd001/p/18391704

相关文章

  • 代码随想录刷题day13丨二叉树理论基础,递归遍历,迭代遍历,统一迭代,层序遍历
    代码随想录刷题day13丨二叉树理论基础,递归遍历,迭代遍历,统一迭代,层序遍历1.二叉树理论基础1.1二叉树种类满二叉树概述:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节......
  • computed计算属性及方法对比和循环遍历统计以及watch和watchEect监听的用法
    1.computed计算属性及方法对比1.了解computed计算属性和用法在我们的一些应用中可以看的应用会给我们提供一些计算类的功能比如取名,它会给你提供两个输入框,然后在你给这两个输入框输入值的时候会在下方生成你输入这个两个值的结合值,就比如你先输入了一个姓氏,然后输入一个名,下......
  • Go基于crypto库实现AES封装加密以及协同PHP8 使用openssl AES加密使用
    前言要实现Go与PHP8之间的AES加密协同工作,我们需要确保两端使用相同的加密模式、密钥长度、以及密钥和初始化向量(IV)。下面,我将提供一个详细的教程,说明如何在Go中使用crypto/aes和crypto/cipher库来实现AES加密,并在PHP8中使用OpenSSL来解密这些数据(反之亦然)。Go基于基础......
  • PHP 预定义类 ArrayAccess接口的使用
    1何为预定义php中的预定义是指的是被视为全局可用的内置常量、变量、函数、类、接口,这些内容不需要特别的引入或申明,本身就存在于php语言中。php预定义类目录:https://www.php.net/manual/zh/reserved.classes.php2 ArrayAccess接口简介ArrayAccess接口可以让你在操纵对象......
  • php htmlspecialchars()、htmlentities()、addslashes() 的区别
    1差别htmlspecialchars()和htmlentities()唯一的差别是对于不认识的编码是否转义。比如,对于西欧编码ISO-8859-1来说,中文字符是“不认识的编码” 2举个例子说明差别2.1转义不认识的编码有差别$str='中文字符';echo"\nhtmlentities会转义:——\n";echohtmlen......
  • ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞(5-rce)
    漏洞原理该漏洞存在两种利用方式控制器名未过滤导致rce该漏洞出现的原因在于ThinkPHP5框架底层对控制器名过滤不严,从而让攻击者可以通过url调用到ThinkPHP框架内部的敏感函数,进而导致getshell漏洞核心类Request远程代码执行filter[]为回调函数,get[]或route[]或server[R......
  • L2-006 树的遍历 分数 25
    硬写的//我也不知道多长时间了,估计有40min#include<bits/stdc++.h>usingnamespacestd;constintN=50;inthou[N],zhong[N];classNode{public:intval;intwei;Node*father;Node*left;Node*right;Node(intv=-114):val(v),......
  • (免费源码)计算机毕业设计必看必学 SSM大学生实习就业推荐系统68986 原创定制程序 java
    SSM大学生实习就业推荐系统 摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于角度存在偏差,人们经常能够获取不同类型的信息,这也是技术最为难以攻克的课题。针对大学生实习就业推荐系统等问题,对大学生实习就业推荐系统进行研究......
  • 微信小程序+php后台服务器实现登录流程实例说明(转)
    下面就对PHP后台实现微信小程序登录进行详细讲解。一、获取微信小程序登录凭证小程序登录流程中,首先需要通过微信小程序接口获取登录凭证(code)。我们需要在小程序端调用微信提供的wx.login()函数,该函数返回用户登录凭证code。例如:wx.login({success:function(res){......
  • PHP数据类型
    PHP变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。PHP支持以下几种数据类型:String(字符串)Integer(整型)Float(浮点型)Boolean(布尔型)Array(数组)Object(对象)NULL(空值)Resource(资源类型)字符串一个字符串是一串字符的序列,就像"Helloworld!"。你可以将任何文本......