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执行速度全攻略(下)
Oct 09 PHP
拼音码表的生成
Oct 09 PHP
PHP 和 MySQL 基础教程(二)
Oct 09 PHP
php 随机生成10位字符代码
Mar 26 PHP
php下使用SimpleXML 处理XML 文件
Feb 27 PHP
PHP删除数组中的特定元素的代码
Jun 28 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
ThinkPHP行为扩展Behavior应用实例详解
Jul 22 PHP
Yii基于数组和对象的Model查询技巧实例详解
Dec 28 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 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
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP 判断变量类型实现代码
2009/10/23 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
2017/06/05 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
基于Python闭包及其作用域详解
2017/08/28 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
python pygame实现方向键控制小球
2019/05/17 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
django页面跳转问题及注意事项
2019/07/18 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
妇女干部培训方案
2014/05/12 职场文书
答谢会策划方案
2014/05/12 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
2014年除四害工作总结
2014/12/06 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL
Oracle表空间与权限的深入讲解
2021/11/17 Oracle
python单向链表实例详解
2022/05/25 Python