PHP面试题之文件目录操作
2015-10-15 14:26
866 查看
这道题其实并不难,考点主要在函数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));
以上代码是不是很简单啊,就这几个函数,函数掌握了,这道题就很容易的解决了,希望本文分享对大家有所帮助。
您可能感兴趣的文章:
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- 一道sql面试题附答案
- apache 环境下 php 的配置注意事项
- C# 超高面试题收集整理
- ASP.NET、ASP、PHP、JSP之间有什么区别?