欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php中url函數(shù)介紹及使用示例

 更新時(shí)間:2014年02月13日 11:10:58   作者:  
本文主要介紹了PHP處理url字符串編碼、解碼與解析。下面進(jìn)行詳細(xì)的舉例說(shuō)明

base64_encode — 使用 MIME base64 對(duì)數(shù)據(jù)進(jìn)行編碼
base64_encode() returns 使用 base64 對(duì) data 進(jìn)行編碼。設(shè)計(jì)此種編碼是為了使二進(jìn)制數(shù)據(jù)可以通過(guò)非純 8-bit 的傳輸層傳輸,例如電子郵件的主體。
Base64-encoded 數(shù)據(jù)要比原始數(shù)據(jù)多占用 33% 左右的空間。

復(fù)制代碼 代碼如下:

<?php
$str = 'This is an encoded string';
// VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==
echo base64_encode($str);
?>

base64_decode — 對(duì)使用 MIME base64 編碼的數(shù)據(jù)進(jìn)行解碼
base64_decode() 對(duì) encoded_data 進(jìn)行解碼,返回原始數(shù)據(jù),失敗則返回 FALSE。返回的數(shù)據(jù)可能是二進(jìn)制的。

復(fù)制代碼 代碼如下:

<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
// This is an encoded string
echo base64_decode($str);
?>

get_headers — 取得服務(wù)器響應(yīng)一個(gè) HTTP 請(qǐng)求所發(fā)送的所有標(biāo)頭
get_headers() 返回一個(gè)數(shù)組,包含有服務(wù)器響應(yīng)一個(gè) HTTP 請(qǐng)求所發(fā)送的標(biāo)頭。如果失敗則返回 FALSE 并發(fā)出一條 E_WARNING 級(jí)別的錯(cuò)誤信息。
如果將可選的 format 參數(shù)設(shè)為 1,則 get_headers() 會(huì)解析相應(yīng)的信息并設(shè)定數(shù)組的鍵名。

復(fù)制代碼 代碼如下:

<?php
$phpha1 = get_headers('http://www.dbjr.com.cn');
$phpha2 = get_headers('http://www.dbjr.com.cn', 1);
print_r($phpha1);
print_r($phpha2);
?>

輸出如下:

復(fù)制代碼 代碼如下:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Server: nginx/1.2.2
    [2] => Date: Tue, 06 Nov 2012 10:17:59 GMT
    [3] => Content-Type: text/html; charset=UTF-8
    [4] => Connection: close
    [5] => X-Powered-By: PHP/5.3.8
    [6] => X-Pingback: http://www.dbjr.com.cn/xmlrpc.php
    [7] => Via: 10.67.15.26
    [8] => Set-Cookie: saeut=124.127.138.35.1352197078737175; path=/; max-age=311040000
)
Array
(
    [0] => HTTP/1.1 200 OK
    [Server] => nginx/1.2.2
    [Date] => Tue, 06 Nov 2012 10:17:59 GMT
    [Content-Type] => text/html; charset=UTF-8
    [Connection] => close
    [X-Powered-By] => PHP/5.3.8
    [X-Pingback] => http://www.dbjr.com.cn/xmlrpc.php
    [Via] => 10.67.15.21
    [Set-Cookie] => saeut=124.127.138.35.1352197079055460; path=/; max-age=311040000
)

get_meta_tags — 從一個(gè)文件中提取所有的 meta 標(biāo)簽 content 屬性,返回一個(gè)數(shù)組
可以想象的到,某些網(wǎng)站可以方便的用此函數(shù)進(jìn)行網(wǎng)站SEO信息的提取。

復(fù)制代碼 代碼如下:

<?php
//天涯PHP博客 http://www.dbjr.com.cn
$phpha = get_meta_tags('http://www.dbjr.com.cn');
print_r($phpha);
?>

輸出如下:

復(fù)制代碼 代碼如下:

Array
(
    [keywords] => 天涯博客,PHP博客,PHP技術(shù)博客,PHP學(xué)習(xí)博客,PHP開(kāi)發(fā)博客
    [description] => 天涯PHP博客是以PHP為主的學(xué)習(xí)博客,記載PHPER的學(xué)習(xí)歷程,關(guān)注互聯(lián)網(wǎng)最新發(fā)展動(dòng)態(tài)。
    [generator] => WordPress 3.2.1
)

http_build_query — 生成 URL-encode 之后的請(qǐng)求字符串

<?php
$url = array('c'=>'blog', 'a'=>'show', 'id'=>10, 'hello', 'world');
// c=blog&a=show&id=10&0=hello&1=world
echo http_build_query($url);
// c=blog&a=show&id=10&phpha_0=hello&phpha_1=world
echo http_build_query($url, 'jb51_');
?>
[/code]

這個(gè)函數(shù)目前我用的最多的地方就是做各種API時(shí),組合請(qǐng)求的url,非常的方便。
另外可以看到,對(duì)于數(shù)組內(nèi)數(shù)字索引的成員,還可以指定前綴。

parse_url — 解析 URL,返回其組成部分
本函數(shù)解析一個(gè) URL 并返回一個(gè)關(guān)聯(lián)數(shù)組,包含在 URL 中出現(xiàn)的各種組成部分。本函數(shù)不是用來(lái)驗(yàn)證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會(huì)嘗試盡量正確地將其解析。

復(fù)制代碼 代碼如下:

<?php
$url = 'http://tianya:jb51.net@jb51.com/hello.php?id=10#nav';
print_r(parse_url($url));
?>
Array
(
    [scheme] => http
    [host] => phpha.com
    [user] => tianya
    [pass] => phphadotcom
    [path] => /hello.php
    [query] => id=10
    [fragment] => nav
)

rawurlencode — 按照 RFC 1738 對(duì) URL 進(jìn)行編碼
rawurldecode — 對(duì)已編碼的 URL 字符串進(jìn)行解碼
urlencode — 編碼 URL 字符串
urldecode — 解碼已編碼的 URL 字符串

復(fù)制代碼 代碼如下:

<?php
$url = 'http://www.dbjr.com.cn tianya';
echo urlencode($url);
echo '<br />';
echo rawurlencode($url);
echo '<br />';
echo urldecode($url);
echo '<br />';
echo rawurldecode($url);
?>

輸出如下:

復(fù)制代碼 代碼如下:

http%3A%2F%2Fwww.dbjr.com.cn+tianya
http%3A%2F%2Fwww.dbjr.com.cn%20tianya

可以看到,urlencode與rawurlencode的區(qū)別在于:
urlencode() 會(huì)把空格編碼為加號(hào)(+),rawurlencode() 則把空格編碼為 %20
urldecode()和rawurldecode() 則為對(duì)應(yīng)的解碼函數(shù)。

相關(guān)文章

  • thinkphp實(shí)現(xiàn)上一篇與下一篇的方法

    thinkphp實(shí)現(xiàn)上一篇與下一篇的方法

    這篇文章主要介紹了thinkphp實(shí)現(xiàn)上一篇與下一篇的方法,以實(shí)例形式對(duì)比分析了兩種不同的實(shí)現(xiàn)方法供大家選擇,方法二在方法一的基礎(chǔ)上增加了判斷的功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-12-12
  • laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法

    laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法

    今天小編就為大家分享一篇laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • VPS中使用LNMP安裝WordPress教程

    VPS中使用LNMP安裝WordPress教程

    這篇文章主要介紹了VPS中使用LNMP安裝WordPress教程,需要的朋友可以參考下
    2014-12-12
  • php實(shí)現(xiàn)memcache緩存示例講解

    php實(shí)現(xiàn)memcache緩存示例講解

    共享內(nèi)存是一種在相同機(jī)器中的應(yīng)用程序之間交換數(shù)據(jù)的有效方式,本文說(shuō)的是php實(shí)現(xiàn)memcache緩存示例,大家參考使用吧
    2013-12-12
  • Yii2實(shí)現(xiàn)上下聯(lián)動(dòng)下拉框功能的方法

    Yii2實(shí)現(xiàn)上下聯(lián)動(dòng)下拉框功能的方法

    這篇文章主要介紹了Yii2實(shí)現(xiàn)上下聯(lián)動(dòng)下拉框功能的方法,簡(jiǎn)單分析了上下聯(lián)動(dòng)下拉框功能的概念、原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-08-08
  • Ajax實(shí)時(shí)驗(yàn)證用戶(hù)名/郵箱等是否已經(jīng)存在的代碼打包

    Ajax實(shí)時(shí)驗(yàn)證用戶(hù)名/郵箱等是否已經(jīng)存在的代碼打包

    一個(gè)網(wǎng)站采用Ajax技術(shù),不僅可以改善網(wǎng)站的用戶(hù)體驗(yàn)性,而且大大節(jié)約了寶貴的帶寬,減輕了服務(wù)器負(fù)荷(不再需要交互整個(gè)網(wǎng)頁(yè)內(nèi)容,而是局部)。
    2011-12-12
  • PHP驗(yàn)證碼類(lèi)ValidateCode解析

    PHP驗(yàn)證碼類(lèi)ValidateCode解析

    這篇文章主要為大家詳細(xì)解析了PHP驗(yàn)證碼類(lèi)ValidateCode,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • php設(shè)計(jì)模式之觀察者模式定義與用法經(jīng)典示例

    php設(shè)計(jì)模式之觀察者模式定義與用法經(jīng)典示例

    這篇文章主要介紹了php設(shè)計(jì)模式之觀察者模式定義與用法,結(jié)合完整實(shí)例形式詳細(xì)分析了php觀察者模式概念、原理、定義與使用方法,代碼注釋包含詳盡的說(shuō)明,需要的朋友可以參考下
    2019-09-09
  • PHP Header失效的原因分析及解決方法

    PHP Header失效的原因分析及解決方法

    下面小編就為大家?guī)?lái)一篇PHP Header失效的原因分析及解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • php連接mssql數(shù)據(jù)庫(kù)的幾種方法

    php連接mssql數(shù)據(jù)庫(kù)的幾種方法

    數(shù)據(jù)庫(kù)查詢(xún)不外乎4個(gè)步驟,1、建立連接。2、輸入查詢(xún)代碼。3、建立查詢(xún)并取出數(shù)據(jù)。4、關(guān)閉連接。 php連接mssql數(shù)據(jù)庫(kù)有幾個(gè)注意事項(xiàng),尤其mssql的多個(gè)版本、32位、64位都有區(qū)別。
    2013-02-02

最新評(píng)論