php递归函数(PHP遍历目录获取文件名 无限深度的目录 如何写这个

具体代码如下php递归函数:

php递归函数(PHP遍历目录获取文件名 无限深度的目录 如何写这个

<?php

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, \'\');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

?>

​PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,

执行效率比完全生成HTML标记的CGI要高许多;

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

用递归,不过递归要有个结束<?phpfunction dir_info($dir){ $dir_fo=opendir($dir); while($file=readdir($dir_fo)){ if($file!=\'.\' and $file!=\'..\'){ if(is_dir($file)){ dir_info($file); }else{ echo $file.\'<br/>\'; } } } closedir($dir_fo);} dir_info(\'.\');?>不过这个有点不对的事,如果是他上一个目录的他递归不到,还有个函数可以,但这个多半够了,还有一种,<?phpfunction dir_info($dir,$type=\'\'){ if($type==\'\'){ $dirname=$dir.\'/*\'; }else{ $dirname=$dir.\'/*.\'.$type; } $file=glob($dirname); foreach($file as $row){ if(is_dir($row)){ dir_info($row); }else{ echo $row.\'<br/>\'; } }}dir_info(\'.\');?>

谁给个函数...支持linux的递归目录建立 - 技术问答

PHP

当然不可以

但是你如果你想是可以写的我的意思

你在你的linux上

先把目录权限赋予

777权限就是

所有者

同组者

其他者

都是7的权限然后用PHP

mkdir()

函数了使用

mkdir函数

要写绝对路径比如

你要在

/var/}

test目录那就

mkdir(\\\'/var/\\\',0777);如果你想php运行linux命令

可以使用

exec()

或者system()

函数??安全模式要关闭的情况下$cmd

=

\\\'ls\\\';system($cmd);

查看原帖>>

PHP面试题之文件目录操作

这道题其实并不难,考点主要在函数substr()

strrchr()

array_pop()

strrpos()

strpos()

strrev()

explode()

pathinfo()。

废话不多说了,直接给大家贴代码了。

获取文件后缀,遍历目录层次

/**

*

5种方式获取文件后缀名

*

这道题其实就是考函数substr()

strrchr()

array_pop()

strrpos()

strpos()

strrev()

explode()

pathinfo()

*

@param

string

$filename

要处理的文件名

1.jpg/1.png/1.html/1.php

*

@return

string

.php/php

*/

function

get_ext1($filename)

{

return

strrchr($filename,\'.\');

}

function

get_ext2($filename){

return

substr($filename,strrpos($filename,\'.\'));

}

function

get_ext3($filename){

return

array_pop(explode(\'.\',$filename));

}

function

get_ext4($filename){

return

pathinfo($filename,PATHINFO_EXTENSION);

}

function

get_ext5($filename){

return

strrev(substr(strrev($filename),0,strpos(strrev($filename),\'.\')));

}

$filename

=

\"1.php\";

echo

get_ext1($filename).\"\\n\";

echo

get_ext2($filename).\"\\n\";

echo

get_ext3($filename).\"\\n\";

echo

get_ext4($filename).\"\\n\";

echo

get_ext5($filename).\"\\n\";

/**

*

遍历目录(递归)

*

@param

string

$dir

目录名且最后没有/

*

@return

array

$files

整个目录结构

*/

function

myScandir($dir)

{

$files

=

array();

if($handle

=

opendir($dir)){

while

(($file

=

readdir($handle))

!=

false){

if($file

!=

\".\"

&&

$file

!=

\"..\"){

$newDir

=

$dir.\"/\".$file;

if(is_dir($newDir)){

$files[$file]

=

myScandir($newDir);

}else{

$files[]

=

$file;

}

}

}

closedir($handle);

return

$files;

}

}

$dir

=

\"/dirname\";

print_r(myScandir($dir));

以上代码是不是很简单啊,就这几个函数,函数掌握了,这道题就很容易的解决了,希望本文分享对大家有所帮助。