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. PHP设计模式之工厂模式(转)

    概念 工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式. 使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地 ...

  2. Django之模版层-语法:标签 {% %}

    标签 {% %} for循环以及for..empty.. <h4>for标签</h4> {% for i in lis %} <p>{{ i }}</p> ...

  3. angular checkbox

    Error: ngModel:constexpr Non-Constant Expression 1.3版本 <input type="checkbox" ng-model= ...

  4. 基于C#利用ffmpeg提取视频帧

    利用ffmepg提取视频帧实际上是利用C#调用ffmepg命令行进行处理对应的视频,然后输出出视频帧 GetPicFromVideo("); static public string Get ...

  5. c# 敏捷3 连接,批量处理,分页

    class Program { public class post { public int id { get; set; } public string name { get; set; } pub ...

  6. 实验吧—隐写术——WP之 奇妙的音乐

    点击链接下载压缩包,解压后得到:一个图片,一个压缩包 打开图片: 看到海伦.凯勒我们都知道她是一位盲人,而下面黑色和灰色的点点应该就是盲文了,那么我们百度一下对照表 我们将图片里的盲文对照后得到; k ...

  7. 【二分图最大权完美匹配】【KM算法】【转】

    [文章详解出处]https://www.cnblogs.com/wenruo/p/5264235.html KM算法是用来求二分图最大权完美匹配的.[也就算之前的匈牙利算法求二分最大匹配的变种??] ...

  8. Connect模块解析 转载

    来自对<了不起的Node.js>一书的学习ConnectNode.js为常规的网络应用提供了基本的API.然而,实际情况下,绝大部分网络应用都需要完成一系列类似的操作,这些类似的操作你一定 ...

  9. GitLab Shell如何通过SSH工作

    转自:https://wayjam.me/post/how-gitlab-shell-works-with-ssh.md GitLab访问Git仓库 首先回顾GitLab的Git仓库四种访问方式: g ...

  10. sqler sql 转rest api 数据校验的处理

    早期版本(2.0 之前)使用rules 进行数据校验处理,2.0 之后进行了修改使用 validators,这样更加明确 参考格式   addpost {    // if any rule retu ...