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));
以上代码是不是很简单啊,就这几个函数,函数掌握了,这道题就很容易的解决了,希望本文分享对大家有所帮助。
PHP经典面试题之设计模式(经常遇到)
设计模式在面试过程中经常会提到,有时候还会让我们举例说明各种设计模式的应用场景。使用设计模式可以减轻我们的工作量,优化我们的代码。设
php示例详解Constructor Prototype Pattern 原型模式
原型模式中主要角色抽象原型(Prototype)角色:声明一个克隆自己的接口具体原型(ConcretePrototype)角色:实现一个克隆自己的操作当一个类大部分都是相同
PHP 中 Orientation 属性判断上传图片是否需要旋转
当使用苹果的iOS系统拍照上传图片的时候,可能会遇到图片被旋转的问题,这主要是取决于你拍照时拍照按钮的位置。假设拍照时你把手机旋转过来底