首頁 > php教程 > PHP开发 > 摘自PHP手冊[6] – URL函數

摘自PHP手冊[6] – URL函數

黄舟
發布: 2016-12-22 10:15:58
原創
1108 人瀏覽過

簡介:處理 URL 字串:編碼、解碼與解析。以下天涯進行詳細的舉例說明。

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




$str = 'This is an encoded string';
// VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlb米

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


$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';

// This is an encoded string



get_headers — 取得伺服器回應一個HTTP 請求所傳送的所有標頭
get_headers() 傳回一個數組,包含有伺服器回應一個HTTP 請求所傳送的標頭。如果失敗則傳回 FALSE 並發出一條 E_WARNING 等級的錯誤訊息。
如果將​​可選的 format 參數設為 1,則 get_headers() 會解析對應的資訊並設定陣列的鍵名。



//天涯PHP部落格http://blog.phpha.com
$phpha1 = get_headers('http://blog.phpha.com');
$phpha2 = get_headers('http ://blog.phpha.com', 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://blog.phpha.com/xmlrpc. php
[7] => Via: 10.67.15.26
[8] => Set-Cookie: saeut=124.127.138.35.1352197078737175; path=/138.35.1352197078737175; path=//httpage=3015; /blog.phpha.com
Array
(
[0] => HTTP/1.1 200 OK
[Server] => nginx/1.2.2
[Date] => Tue, 06 Nov 2012 10:17:59 G [Content-Type] => text/html; charset=UTF-8
[Connection] => close
[X-Powered-By] => PHP/5.3.8
[X-Pingback] => http:// blog.phpha.com/xmlrpc.php
[Via] => 10.67.15.21
[Set-Cookie] => saeut=124.127.138.35.1352197079055460;

get_meta_tags — 從一個檔案中提取所有的 meta 標籤 content 屬性,傳回一個陣列
【天涯註】可以想像的到,某些網站可以方便的用此函數進行網站SEO資訊的擷取。




//天涯PHP部落格http://blog.phpha.com
$phpha = get_meta_tags('http://blog.phpha.com');
print_meta_tags('http://blog.phpha.com');
print_meta_tags('http://blog.phpha.com');
print_r($phpha); ?>
//輸出如下:
Array
(
[keywords] => 天涯博客,PHP博客,PHP技術博客,PHP學習博客,PHP開發博客
[description] => 天涯PHP博客是以PHP為主的學習博客,記載PHPER的學習歷程,並關注互聯網最新發展動態。
[generator] => WordPress 3.2.1
)

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





, 'a'=>'show', 'id'=>10, 'hello', 'world');
// c=blog&a=show&id=10&0=hello&1=world
echo http_build_query($url);
/
echo http_build_query($url);
/
echo http_build_query($url);
/
echo http_build_query($url);

/

echo http_build_query($url);
/

echo http_build_query($url);

/
/ / c=blog&a=show&id=10&phpha_0=hello&phpha_1=world

echo http_build_query($url, 'phpha_'); 🎜 ?> 🎜🎜 🎜🎜🎜【世界時,組合請求的url,非常的方便。 🎜另外可以看到,對於數組內數字索引的成員,也可以指定前綴。 🎜🎜parse_url — 解析 URL,傳回其組成部分🎜本函數解析一個 URL 並傳回一個關聯數組,包含在 URL 中出現的各種組成部分。本函數不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會嘗試盡量正確地將其解析。 🎜




$url = 'http://tianya:phphadotcom@phpha.com/hello.php?id=10#nav';
print_r(parse_url($url));
? >
陣列
(
[方案] => http
[主機] => phpha.com
[使用者] => tianya
[pass] => phphadotcom
[路徑] => /hello.php = php. > id=10
[片段] => nav
)



rawurlencode — 依照RFC 1738 對URL 進行編碼

rawurldecode — 對已編碼的URL 字串進行解碼url已編碼的URL 字串




//天涯PHP博客http://blog.phpha.com
$url = 'http://blog.phpha.com tianya';
echo urlencode($url);
echo
';
echo rawurlencode($url);
echo '
';
echo urldecode($url);
echo '
';
echo rawurldecode( echo '
';
echo rawurldecode(url); >
輸出如下:
http%3A%2F%2Fblog.phpha.com+tianya
http%3A%2F%2Fblog.phpha.com%20tianya
http://blog.phpha.com tianya
http://blog .phpha.com tianya


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

以上就是摘自PHP手冊[6] – URL函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板