<?php

// 获取文件名称
echo basename("/data/www/test/filesystem.php"),"\n";
// 获取目录名称
echo dirname("/data/www/test/filesystem.php"),"\n";
echo __DIR__,"\n"; // 操作一个url,获取相关信息(注意php函数的使用 // parse_url处理url足够了。。第二个可选参数是php常量,直接获取数组中的某个value
$url_info = parse_url('http://www.google.com/abc/xyz/fck.php?id=1#sharp');
var_dump($url_info);
$result = pathinfo($url_info['path']);// pathinfo()可以info出一些文件名、目录名、后缀名等信息
var_dump($result); /**
array(5) {
["scheme"]=>
string(4) "http"
["host"]=>
string(14) "www.google.com"
["path"]=>
string(16) "/abc/xyz/fck.php"
["query"]=>
string(4) "id=1"
["fragment"]=>
string(5) "sharp"
} array(4) {
["dirname"]=>
string(8) "/abc/xyz"
["basename"]=>
string(7) "fck.php"
["extension"]=>
string(3) "php"
["filename"]=>
string(3) "fck"
} **/

php中全局变量$_SERVER的一个例子:http://www.test.com/a/b/one.php?a=12#shart

Array
  (
  [USER] => nginx
  [HOME] => /var/cache/nginx
  [FCGI_ROLE] => RESPONDER
  [QUERY_STRING] => a=12
  [REQUEST_METHOD] => GET
  [CONTENT_TYPE] =>
  [CONTENT_LENGTH] =>
  [SCRIPT_NAME] => /a/b/one.php
  [REQUEST_URI] => /a/b/one.php?a=12
  [DOCUMENT_URI] => /a/b/one.php
  [DOCUMENT_ROOT] => /data/www/test
  [SERVER_PROTOCOL] => HTTP/1.1
  [GATEWAY_INTERFACE] => CGI/1.1
  [SERVER_SOFTWARE] => nginx/1.6.2
  [REMOTE_ADDR] => 192.168.80.190
  [REMOTE_PORT] => 54281
  [SERVER_ADDR] => 192.168.0.99
  [SERVER_PORT] => 80
  [SERVER_NAME] => www.test.com
  [REDIRECT_STATUS] => 200
  [SCRIPT_FILENAME] => /data/www/test/a/b/one.php
  [HTTP_HOST] => www.test.com
  [HTTP_CONNECTION] => keep-alive
  [HTTP_CACHE_CONTROL] => max-age=0
  [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
  [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
  [HTTP_ACCEPT_ENCODING] => gzip, deflate, sdch
  [HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.8
  [PHP_SELF] => /a/b/one.php
  [REQUEST_TIME] => 1456887300
  )

php操作url 函数等的更多相关文章

  1. Django url()函数详解

    url()函数看起来的格式象: url(r^/account/$', views.index, name=index) ,它可以接收四个参数,分别是两个必选参数: regex . view 和两个可选 ...

  2. 信号量的操作——semop函数

    信号量的值与相应资源的使用情况有关,当它的值大于 0 时,表示当前可用的资源数的数量:当它的值小于 0 时,其绝对值表示等待使用该资源的进程个数.信号量的值仅能由 PV 操作来改变.        在 ...

  3. Delphi内存操作API函数(备查,并一一学习)

    Delphi内存操作API函数System.IsMemoryManagerSet;System.Move;System.New;System.ReallocMem;System.ReallocMemo ...

  4. dplyr 数据操作 常用函数(5)

    继续来了解dplyr中的其他有用函数 1.sample() 目的是可以从一个数据框中,随机抽取一些行,然后组成新的数据框. sample_n(tbl, size, replace = FALSE, w ...

  5. sql操作一般函数

    sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...

  6. mysql3 - 常规数据检索、常见操作与函数

    一.常规数据检索 二.常见操作与函数

  7. php中文件操作常用函数有哪些

    php中文件操作常用函数有哪些 一.总结 一句话总结:读写文件函数 判断文件或者目录是否存在函数 创建目录函数 file_exists() mkdir() file_get_content() fil ...

  8. python 文件操作: 文件操作的函数, 模式及常用操作.

    1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...

  9. go语言之进阶篇字符串操作常用函数介绍

    下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...

随机推荐

  1. Oracle常用方法备份

    1.UNION ALL 和UNION.INTERSECT.MINUS 连接所有的查询结果.去掉重复的结果.操作返回查询结果中公共的行.在进行两个表格或者两个查询结果的时候,返回在第一个表格/查询结果中 ...

  2. javascript的异步编程解决方案收集

    缘起 没理解js异步的同学看下面的例子: for (var i = 0; i < 5; i++) { //模拟一个异步操作 setTimeout(() => { console.log(i ...

  3. Android逆向 APK文件组成

    一 了解APK文件 我们知道Android系统能运行的程序是.apk文件格式,其实它就是一个压缩包而已,把.apk修改成.zip,然后解压就可以得到该apk内部的文件结构. PS: 既然可以把apk文 ...

  4. Sql server 索引详解

    参考资料:老K写的,http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html SQL索引在数据库优化中占有一个非常大的比例, 一个好的 ...

  5. (个人记录)Python2 与Python3的版本区别

    现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改. 由于只追求向Python3靠近,所以对于python2的特别用法不探究. 此文不补全所有版本区别,仅作档案 ...

  6. aop 拦截含有特定注解的类

    1.功能点:使用aop拦截含有自定义注解的类 1.自定义注解 package com.zhuanche.common.dingdingsync; import java.lang.annotation ...

  7. go语言练习:go实现md5

    package main import ( "crypto/md5" "fmt" ) func main() { md5_ob := md5.New() md5 ...

  8. 学习dbms_parallel_execute包

    一.简介 ORACLE11g R2版本的新特性之一就是引进了DBMS_PARALLEL_EXECUTE包,使用DBMS_PARALLEL_EXECUTE包批量并行递增式的更新表. 更多ORACLE11 ...

  9. ubuntu下编译qt5

    编译步骤参考: http://doc.qt.io/qt-5/linux.html 我们使用源代码和编译目录分离的编译方式, 这样避免编译主机系统和目标系统间的独立. 参考: Qt Configure ...

  10. 下载 VM 模板

    使用门户或 PowerShell 在 Azure 中创建 VM 时,系统会自动创建一个 Resource Manager 模板. 可以使用此模板快速复制部署. 该模板包含有关资源组中所有资源的信息. ...