php操作url 函数等
- pathinfo() - Returns information about a file path
- parse_str() - Parses the string into variables
- parse_url() - Parse a URL and return its components
- http_build_query() - Generate URL-encoded query string
- http_build_url() - Build a URL
- dirname() - Returns a parent directory's path
- basename() - Returns trailing name component of path
<?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 函数等的更多相关文章
- Django url()函数详解
url()函数看起来的格式象: url(r^/account/$', views.index, name=index) ,它可以接收四个参数,分别是两个必选参数: regex . view 和两个可选 ...
- 信号量的操作——semop函数
信号量的值与相应资源的使用情况有关,当它的值大于 0 时,表示当前可用的资源数的数量:当它的值小于 0 时,其绝对值表示等待使用该资源的进程个数.信号量的值仅能由 PV 操作来改变. 在 ...
- Delphi内存操作API函数(备查,并一一学习)
Delphi内存操作API函数System.IsMemoryManagerSet;System.Move;System.New;System.ReallocMem;System.ReallocMemo ...
- dplyr 数据操作 常用函数(5)
继续来了解dplyr中的其他有用函数 1.sample() 目的是可以从一个数据框中,随机抽取一些行,然后组成新的数据框. sample_n(tbl, size, replace = FALSE, w ...
- sql操作一般函数
sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...
- mysql3 - 常规数据检索、常见操作与函数
一.常规数据检索 二.常见操作与函数
- php中文件操作常用函数有哪些
php中文件操作常用函数有哪些 一.总结 一句话总结:读写文件函数 判断文件或者目录是否存在函数 创建目录函数 file_exists() mkdir() file_get_content() fil ...
- python 文件操作: 文件操作的函数, 模式及常用操作.
1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...
- go语言之进阶篇字符串操作常用函数介绍
下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...
随机推荐
- Oracle常用方法备份
1.UNION ALL 和UNION.INTERSECT.MINUS 连接所有的查询结果.去掉重复的结果.操作返回查询结果中公共的行.在进行两个表格或者两个查询结果的时候,返回在第一个表格/查询结果中 ...
- javascript的异步编程解决方案收集
缘起 没理解js异步的同学看下面的例子: for (var i = 0; i < 5; i++) { //模拟一个异步操作 setTimeout(() => { console.log(i ...
- Android逆向 APK文件组成
一 了解APK文件 我们知道Android系统能运行的程序是.apk文件格式,其实它就是一个压缩包而已,把.apk修改成.zip,然后解压就可以得到该apk内部的文件结构. PS: 既然可以把apk文 ...
- Sql server 索引详解
参考资料:老K写的,http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html SQL索引在数据库优化中占有一个非常大的比例, 一个好的 ...
- (个人记录)Python2 与Python3的版本区别
现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改. 由于只追求向Python3靠近,所以对于python2的特别用法不探究. 此文不补全所有版本区别,仅作档案 ...
- aop 拦截含有特定注解的类
1.功能点:使用aop拦截含有自定义注解的类 1.自定义注解 package com.zhuanche.common.dingdingsync; import java.lang.annotation ...
- go语言练习:go实现md5
package main import ( "crypto/md5" "fmt" ) func main() { md5_ob := md5.New() md5 ...
- 学习dbms_parallel_execute包
一.简介 ORACLE11g R2版本的新特性之一就是引进了DBMS_PARALLEL_EXECUTE包,使用DBMS_PARALLEL_EXECUTE包批量并行递增式的更新表. 更多ORACLE11 ...
- ubuntu下编译qt5
编译步骤参考: http://doc.qt.io/qt-5/linux.html 我们使用源代码和编译目录分离的编译方式, 这样避免编译主机系统和目标系统间的独立. 参考: Qt Configure ...
- 下载 VM 模板
使用门户或 PowerShell 在 Azure 中创建 VM 时,系统会自动创建一个 Resource Manager 模板. 可以使用此模板快速复制部署. 该模板包含有关资源组中所有资源的信息. ...