php递归目录,php递归创建目录

本文目录一览:

php关于递归创建练级目录,为什么少输出一个目录

if(!file_exists(dirname($path))){//判断上一级目录是否存在

//mkdir($path,0777,true);

//echo ‘yes’;

check(dirname($path));//当返回到./当前目录时存在,那么依次进行下一步创建文件夹操作

mkdir(dirname($path),0777);

}

改为

if(!file_exists(dirname($path))){//判断上一级目录是否存在

//mkdir($path,0777,true);

//echo ‘yes’;

check(dirname($path));//当返回到./当前目录时存在,那么依次进行下一步创建文件夹操作

}

mkdir(dirname($path),0777);

php上传文件,创建递归目录的实例代码

复制代码

代码如下:

?php

$uid=$_REQUEST[‘uid’];

$avatar

=

‘D:/avic/discuz/uc_server/data/avatar/’.get_avatar($uid,

$size,

$type);

$dir=dirname($avatar);

//创建目录成功后移动临时文件

if(mkdirs($dir)){

if($_FILES[“pic”][“error”]

=

0){

if(move_uploaded_file($_FILES[‘pic’][‘tmp_name’],$avatar)){

$errorcode=1;

}else{

$errorcode=0;

$errormsg=”文件移动失败”;

}

}else{

$errorcode=0;

$errormsg=$_FILES[‘pic’][‘error’];

}

}

$back=array(“errorcode”=$errorcode,’errormsg’=$errormsg);

echo

json_encode($back);

//返回图片要存储的路径

function

get_avatar($uid,

$size

=

‘middle’,

$type

=

”)

{

$size

=

in_array($size,

array(‘big’,

‘middle’,

‘small’))

?

$size

:

‘middle’;

$uid

=

abs(intval($uid));

$uid

=

sprintf(“%09d”,

$uid);

$dir1

=

substr($uid,

0,

3);

$dir2

=

substr($uid,

3,

2);

$dir3

=

substr($uid,

5,

2);

$typeadd

=

$type

==

‘real’

?

‘_real’

:

”;

return

$dir1.’/’.$dir2.’/’.$dir3.’/’.substr($uid,

-2).$typeadd.”_avatar_$size.jpg”;

}

//递归创建目录,若传的$dir不是绝对路径,则会和运行此方法的目录同级

function

mkdirs($dir){

if(!is_dir($dir)){

if(!mkdirs(dirname($dir))){

return

false;

}

 if(!mkdir($dir,0777)){

return

false;

}

 }

return

true;

}

?

php如何实现递归遍历文件目录

只需要一个递归函数:

function Folders($folder) {

if (!is_dir($folder)) return false;

foreach (scandir($folder) AS $f) {

if ($f == ‘.’ or $f == ‘..’) continue;

echo $f, ‘hr/’;

Folders($folder . ‘/’ . $f);    // 递归调用

}

}

Folders(‘Test’);

怎么在php中创建一个递归创建目录的封装函数

:递归创建目录,此种方法是我目前感觉比较好的方法。

function mkDirs($dir){ if(!is_dir($dir)){ if(!mkDirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } return true; } mkDirs(‘1/2/3/’);我还是推荐你去后盾人看看,里面有很对关于php这类的教学视频哦⊙∀⊙!,你可以去看看

关于php递归函数创建级联目录的困惑

mkdir1刚进去就是判断$dir存不存在,a/b/c/d/e说白了就是判断有没有e文件夹

如果没有 继续dirname($dir) 判断a/b/c/d路径的d文件夹有没有

如果没有 继续dirname($dir) 判断a/b/c路径的c文件夹有没有

依此类推直到

dirname($dir) 判断a路径的时候 不存在执行当前递归层的mkdir($dir) 创建a

存在则return,然后执行当前递归层上一级的mkdir($dir) 创建a/b

之后继续上一级的mkdir($dir) 创建a/b/c

直到创建完a/b/c/d/e 递归结束

php递归获取目录内文件封装类分享

php递归获取目录内文件封装类分享,可以递归子目录

代码如下:

代码如下:

function

readFileFromDir($dir)

{

if

(!is_dir($dir))

{

return

false;

}

//打开目录

$handle

=

opendir($dir);

while

(($file

=

readdir($handle))

!==

false)

{

//排除掉当前目录和上一个目录

if

($file

==

“.”

||

$file

==

“..”)

{

continue;

}

$file

=

$dir

.

DIRECTORY_SEPARATOR

.

$file;

//如果是文件就打印出来,否则递归调用

if

(is_file($file))

{

print

$file

.

‘br

/’;

}

elseif

(is_dir($file))

{

readFileFromDir($file);

}

}

}

调用方式:

代码如下:

$dir

=

‘/home/www/test’;

readFileFromDir($dir);

查看php手册的话,还有一个方法scandir也可以使用,不过这个方法会一次性获取单级目录下的所有文件,存放到数组里,如果目录里的文件比较多的话,会卡。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/308450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-03 14:49
下一篇 2025-01-03 14:49

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Rclone复制所有目录

    如果你需要将本地文件复制到云端,或者从云端复制文件到本地,Rclone是一个非常好的选择。本文将介绍如何使用Rclone复制所有目录。 一、安装Rclone 首先,你需要在你的机器…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 台阶走法递归

    台阶走法递归是一个经典的递归问题,在计算机算法中有着广泛的应用。本篇文章将从递归的思想出发,详细分析如何解决这个问题。 一、递归基础知识 递归是指一个函数直接或间接地调用自身。递归…

    编程 2025-04-29
  • 二级考级舞蹈大全目录

    本文将从以下多个方面对二级考级舞蹈大全目录进行详细阐述。 一、目录结构 二级考级舞蹈大全目录主要分为三级,即一级目录、二级目录和三级目录。其中,一级目录为舞蹈类型,二级目录为舞蹈名…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • Python目录怎么打开

    Python是一种高级编程语言,以其易读、易扩展和简洁高效的特征,目前得到了众多程序开发者的认可。Python的应用已经扩展到了人工智能、Web开发、数据分析、自动化测试等领域。本…

    编程 2025-04-28
  • Python递归累加求和

    Python递归累加求和是一种常见的递归算法,在解决一些数学问题或者逻辑问题时常常被使用。下面我们将从多个方面来详细阐述这个算法。 一、基本概念 递归是一种在函数中调用自身的算法,…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • 不从skel目录复制文件的方法

    对于开发工程师而言,我们经常需要使用一些预定义的目录结构来组织我们的项目文件。skel作为一个经典的目录结构,包含了许多常用的文件和目录。 一、了解skel目录 skel目录通常位…

    编程 2025-04-28

发表回复

登录后才能评论