获取URL文件名后缀


Posted in PHP onOctober 24, 2013

尽可能高效的,从一个标准 url 里取出文件的扩展名,再把代码扩展一下就可以得到其它的数据了,比如:目录路径,原理就是使用PHP的explode函数分隔字符串。
例如: http://www.abc.com/abc/de/fg.php?id=1 需要取出 php 或 .php
很简单,直接看代码。

<?php 
$url = "http://www.abc.com/abc/de/fg.php?id=1";
//这个是自己写的
function getUrl($url) {
    $date = explode('?', $url);
    $date = basename($date[0]);
    $date = explode('.', $date);
    return $date[1];
}
var_dump(getUrl($url));
//下面两个是网上弄的
function getExt($url){
   $arr = parse_url($url);
   $file = basename($arr['path']);
   $ext = explode(".",$file);
   return $ext[1];
}
var_dump(getExt($url));
 
function getName($url) {
   $w_param = pathinfo($url);
   $str = $w_param['extension'];
   list($type, $vars) = explode('?',$str);
   return $type;
}
echo 'start3'.date("Y-m-d H:i:s");
?>
PHP 相关文章推荐
PHP 分页原理分析,大家可以看看
Dec 21 PHP
PHP isset()与empty()的使用区别详解
Aug 29 PHP
php中防止伪造跨站请求的小招式
Sep 02 PHP
PHP __autoload()方法真的影响性能吗?
Mar 30 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 PHP
php实现水仙花数的4个示例分享
Apr 08 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
PHP中快速生成随机密码的几种方式
Apr 17 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
Oct 22 #PHP
php 修改、增加xml结点属性的实现代码
Oct 22 #PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 #PHP
实用的简单PHP分页集合包括使用方法
Oct 21 #PHP
使用PHP导出Word文档的原理和实例
Oct 21 #PHP
php与java通过socket通信的实现代码
Oct 21 #PHP
PHP与Java进行通信的实现方法
Oct 21 #PHP
You might like
怎样在UNIX系统下安装php3
2006/10/09 PHP
PHP+javascript液晶时钟
2006/10/09 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
浅析python的Lambda表达式
2019/02/27 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
远东集团网络工程师面试题
2014/10/20 面试题
毕业生就业自荐书
2013/12/15 职场文书
合同意向书范本
2014/07/30 职场文书
学用政策心得体会
2014/09/10 职场文书
捐书仪式主持词
2015/07/04 职场文书
2015年科普工作总结
2015/07/23 职场文书
如何在C++中调用Python
2021/05/21 Python
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技
移除Selenium中window.navigator.webdriver值
2022/06/10 Python