PHP面试题之文件目录操作

2025-05-29 0 46

这道题其实并不难,考点主要在函数substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo()。

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53
/**

* 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));

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP面试题之文件目录操作 https://www.kuaiidc.com/100797.html

相关文章

发表评论
暂无评论