PHP面试题之文件目录操作


Posted in PHP onOctober 15, 2015

这道题其实并不难,考点主要在函数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));

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

PHP 相关文章推荐
PHP print类函数使用总结
Jun 25 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
关于php循环跳出的问题
Jul 01 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
PHP魔术方法的使用示例
Jun 23 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
PHP图片水印类的封装
Jul 06 PHP
php对象工厂类完整示例
Aug 09 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
laravel 字段格式化 modle 字段类型转换方法
Sep 30 PHP
Yii框架的redis命令使用方法简单示例
Oct 15 PHP
php cli配置文件问题分析
Oct 15 #PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 #PHP
10个php函数实用却不常见
Oct 13 #PHP
PHP实现连接设备、通讯和发送命令的方法
Oct 13 #PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 #PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 #PHP
apache和PHP如何整合在一起
Oct 12 #PHP
You might like
去除php注释和去除空格函数分享
2014/03/13 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
简单实现PHP留言板功能
2016/12/21 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
python实现在windows下操作word的方法
2015/04/28 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
python操作列表的函数使用代码详解
2017/12/28 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
python实现学员管理系统
2019/02/26 Python
python读写csv文件实例代码
2019/07/05 Python
pywinauto自动化操作记事本
2019/08/26 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
幼儿园教师奖惩制度
2014/02/01 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
七一讲话心得体会
2014/09/05 职场文书
2014年工商所工作总结
2014/12/09 职场文书
支行行长岗位职责
2015/02/15 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
市场营销计划书
2019/04/24 职场文书