程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中url函數介紹及使用示例

php中url函數介紹及使用示例

編輯:PHP綜合

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

復制代碼 代碼如下:
<?php
$str = 'This is an encoded string';
// VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==
echo base64_encode($str);
?>

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

復制代碼 代碼如下:
<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
// This is an encoded string
echo base64_decode($str);
?>

get_headers — 取得服務器響應一個 HTTP 請求所發送的所有標頭
get_headers() 返回一個數組,包含有服務器響應一個 HTTP 請求所發送的標頭。如果失敗則返回 FALSE 並發出一條 E_WARNING 級別的錯誤信息。
如果將可選的 format 參數設為 1,則 get_headers() 會解析相應的信息並設定數組的鍵名。

復制代碼 代碼如下:
<?php
$phpha1 = get_headers('http://www.jb51.net');
$phpha2 = get_headers('http://www.jb51.net', 1);
print_r($phpha1);
print_r($phpha2);
?>

輸出如下:
復制代碼 代碼如下:
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.jb51.net/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.jb51.net/xmlrpc.php
    [Via] => 10.67.15.21
    [Set-Cookie] => saeut=124.127.138.35.1352197079055460; path=/; max-age=311040000
)

get_meta_tags — 從一個文件中提取所有的 meta 標簽 content 屬性,返回一個數組
可以想象的到,某些網站可以方便的用此函數進行網站SEO信息的提取。

復制代碼 代碼如下:
<?php
//天涯PHP博客 http://www.jb51.net
$phpha = get_meta_tags('http://www.jb51.net');
print_r($phpha);
?>

輸出如下:
復制代碼 代碼如下:
Array
(
    [keywords] => 天涯博客,PHP博客,PHP技術博客,PHP學習博客,PHP開發博客
    [description] => 天涯PHP博客是以PHP為主的學習博客,記載PHPER的學習歷程,關注互聯網最新發展動態。
    [generator] => WordPress 3.2.1
)

http_build_query — 生成 URL-encode 之後的請求字符串

<?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]

這個函數目前我用的最多的地方就是做各種API時,組合請求的url,非常的方便。
另外可以看到,對於數組內數字索引的成員,還可以指定前綴。

parse_url — 解析 URL,返回其組成部分
本函數解析一個 URL 並返回一個關聯數組,包含在 URL 中出現的各種組成部分。本函數不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會嘗試盡量正確地將其解析。

復制代碼 代碼如下:
<?php
$url = 'http://tianya:[email protected]/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 對 URL 進行編碼
rawurldecode — 對已編碼的 URL 字符串進行解碼
urlencode — 編碼 URL 字符串
urldecode — 解碼已編碼的 URL 字符串

復制代碼 代碼如下:
<?php
$url = 'http://www.jb51.net tianya';
echo urlencode($url);
echo '<br />';
echo rawurlencode($url);
echo '<br />';
echo urldecode($url);
echo '<br />';
echo rawurldecode($url);
?>

輸出如下:
復制代碼 代碼如下:
http%3A%2F%2Fwww.jb51.net+tianya
http%3A%2F%2Fwww.jb51.net%20tianya

可以看到,urlencode與rawurlencode的區別在於:
urlencode() 會把空格編碼為加號(+),rawurlencode() 則把空格編碼為 %20
urldecode()和rawurldecode() 則為對應的解碼函數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved