PHP 获取url地址中文件的扩展名

$url = 'http://www.abc.com/ab/cd/e.php?id=1&data=2#laowen';
echo pathinfo( parse_url($url)['path'] )['extension'];
echo pathinfo( parse_url( $url, PHP_URL_PATH ), PATHINFO_EXTENSION );

解析:

parse_url($url);

parse_url() 该函数解析url、返回其组成部分;
  返回关联数组
  scheme    方案;如 http
  host     域名
  port
  user     用户
  pass
  path     路径
  query     在问号?之后
  fragment     在散列符号#之后

eg: print_r( $url );

Array(
  [scheme] = >http
  [host] => www.abc.com
  [path] => /ab/cd/e.php
  [query] => id=1&data=2
  [fragment] => laowen
)

扩展:

打印解析url    var_dump(parse_url($url));
打印url的scheme    var_dump(parse_url($url, PHP_URL_SCHEME));
打印url的user    var_dump(parse_url($url, PHP_URL_USER));
打印url的pass    var_dump(parse_url($url, PHP_URL_PASS));
打印url的host    var_dump(parse_url($url, PHP_URL_HOST));
打印url的port    var_dump(parse_url($url, PHP_URL_PORT));
打印url的path    var_dump(parse_url($url, PHP_URL_PATH));
打印url的query    var_dump(parse_url($url, PHP_URL_QUERY));
打印url的fragment   var_dump(parse_url($url, PHP_URL_FRAGMENT));

pathinfo('/ab/cd/e.php');

pathinfo()解析文件路径,返回其组成部分;
返回关联数组
dirname    文件路径
basename   文件名+扩展名
extension   最后一个扩展名
filename   文件名

eg: print_r( pathinfo('/ab/cd/e.php') );

Array(
  [dirname] => /ab/cd
  [basename] => e.php
  [extension] => php
  [filename] => e
)

扩展:

打印解析路径    var_dump( pathinfo($path) );
打印路径的父级路径    var_dump( pathinfo($path, PATHINFO_DIRNAME) );
打印路径的尾名    var_dump( pathinfo($path, PATHINFO_BASENAME) );
打印路径的最后的扩展名   var_dump( pathinfo($path, PATHINFO_EXTENSION) );
打印路径的文件的名字   var_dump( pathinfo($path, PATHINFO_FILENAME) );

PHP 获取url里文件的扩展名的更多相关文章

  1. 5种方法获取url中文件的扩展名

    /** * strrchr - 查找指定字符在字符串中的最后一次出现 * strrpos — 计算指定字符串在目标字符串中最后一次出现的位置 * end — 将数组的内部指针指向最后一个单元 * pa ...

  2. C#获取上传文件的扩展名

    然后在代码页中写//上传图片if (UpFile.PostedFile != null){   HttpPostedFile mFile= UpFile.PostedFile;   int fileS ...

  3. 如何获取url中文件的后缀名

    这是今天给学生解答问题的时候学生问的一个问题,我就在班级里给学生整体讲了一下,现在做一下分享,大家一起学习!! $url = 'http://www.sina.com.cn/abc/de/fg.php ...

  4. C#获取一个文件的扩展名

    C#获取一个文件的扩展名System.IO.Path.GetExtension( "文件名 ");ChangeExtension   更改路径字符串的扩展名. Combine   ...

  5. Windows-004-显示文件的扩展名

    此文主要讲述 Windows 7 下如何显示文件的扩展名,敬请亲们参阅.若有不足之处,敬请大神指正,不胜感激! 通常安装好 Win7 后,文件的扩展名默认是不显示的,如下所示: 点击工具栏中的 组织, ...

  6. Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg

    package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...

  7. 获取URL中的文件的扩展名

    问题: 尽可能多地写出获取文件扩展名的方法: //方法一(分割数组) function getExt($url){ $arr = explode('.',$url); $len = count($ar ...

  8. 从一个标准 url 里取出文件的扩展名

    在php预定义函数中有一个叫做"pathinfo()"的函数,专门用于返回文件路径信息的. 那好,我们就来看一下它能为我们做些什么?       语法:pathinfo($url_ ...

  9. 11.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

    //首先列出需要被操作的url     $url_path = "http://www.sina.com.cn/abc/de/fg.php?id=1";     方法一:     ...

随机推荐

  1. 操作cookie篇

    1.设置cookie setcookie(key,value); 2.设置cookie有效期(默认值0,浏览器关闭失效,PHP_INT_MAX最大值,永久不失效,time()-1,删除cookie) ...

  2. Linux用管道命令对文件的移动

    我的问题是这样的:我有一个文件夹,里面有大约有1000个文件,然后我想把这样的一部分文件给随机分成两部分,一部分含有100张,另外一部分含有剩下的所有的文件,这个时候如果是在Linux图形界面的话直接 ...

  3. 如何让jpa 持久化时不校验指定字段

    源文:https://www.toocruel.net/jpa-validate/ 怎么让jpa 持久化时不校验指定字段 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥 ...

  4. EasyUI datagrid 数据加载

    网上找了好多人的方法发现都有问题发一个可用方便的 主要分三种情况 加载1,loaddata 加载2,datagrid 加载3, url 加载 第一部分,datagrid加载 第二部分,点击 datag ...

  5. (13)自定意义标签和过滤器 (templatetags)

    过滤器分内置和自定意义 PS:过滤器可以用在for循环和if判断后,但是标签不能使用在for循环和if判断后 内置过滤器: add(在模板中实现加减法) default(就是当传入的变量是False的 ...

  6. 【HDOJ4857】【反向拓扑排序】

    http://acm.hdu.edu.cn/showproblem.php?pid=4857 逃生 Time Limit: 2000/1000 MS (Java/Others)    Memory L ...

  7. Go Example--闭包

    package main import "fmt" func main() { //这里需要将闭包函数当作一个类理解,这里是实例化 nextInt := intSeq() fmt. ...

  8. LinkedList(实现了queue,deque接口,List接口)实现栈和队列的功能

    LinkedList是用双向链表结构存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢. 底层是一个双向链表,链表擅长插入和删除操作,队列和栈最常用的2种操作都设计到插入和删除 impo ...

  9. Django 之 ORM

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  10. Mosaic 前端微服务框架

    Mosaic 是一系列的服务.库,集成在一起,定义了组件如何彼此交互,可以用来支持大规模的web 站点开发 一张架构图 说明 尽管上图中的一些组件已经迭代演化了(skipper 的route 配置,上 ...