php中url函數(shù)介紹及使用示例
base64_encode — 使用 MIME base64 對數(shù)據(jù)進行編碼
base64_encode() returns 使用 base64 對 data 進行編碼。設計此種編碼是為了使二進制數(shù)據(jù)可以通過非純 8-bit 的傳輸層傳輸,例如電子郵件的主體。
Base64-encoded 數(shù)據(jù)要比原始數(shù)據(jù)多占用 33% 左右的空間。
<?php
$str = 'This is an encoded string';
// VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==
echo base64_encode($str);
?>
base64_decode — 對使用 MIME base64 編碼的數(shù)據(jù)進行解碼
base64_decode() 對 encoded_data 進行解碼,返回原始數(shù)據(jù),失敗則返回 FALSE。返回的數(shù)據(jù)可能是二進制的。
<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
// This is an encoded string
echo base64_decode($str);
?>
get_headers — 取得服務器響應一個 HTTP 請求所發(fā)送的所有標頭
get_headers() 返回一個數(shù)組,包含有服務器響應一個 HTTP 請求所發(fā)送的標頭。如果失敗則返回 FALSE 并發(fā)出一條 E_WARNING 級別的錯誤信息。
如果將可選的 format 參數(shù)設為 1,則 get_headers() 會解析相應的信息并設定數(shù)組的鍵名。
<?php
$phpha1 = get_headers('http://www.dbjr.com.cn');
$phpha2 = get_headers('http://www.dbjr.com.cn', 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.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 — 從一個文件中提取所有的 meta 標簽 content 屬性,返回一個數(shù)組
可以想象的到,某些網(wǎng)站可以方便的用此函數(shù)進行網(wǎng)站SEO信息的提取。
<?php
//天涯PHP博客 http://www.dbjr.com.cn
$phpha = get_meta_tags('http://www.dbjr.com.cn');
print_r($phpha);
?>
輸出如下:
Array
(
[keywords] => 天涯博客,PHP博客,PHP技術博客,PHP學習博客,PHP開發(fā)博客
[description] => 天涯PHP博客是以PHP為主的學習博客,記載PHPER的學習歷程,關注互聯(lián)網(wǎng)最新發(fā)展動態(tài)。
[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]
這個函數(shù)目前我用的最多的地方就是做各種API時,組合請求的url,非常的方便。
另外可以看到,對于數(shù)組內數(shù)字索引的成員,還可以指定前綴。
parse_url — 解析 URL,返回其組成部分
本函數(shù)解析一個 URL 并返回一個關聯(lián)數(shù)組,包含在 URL 中出現(xiàn)的各種組成部分。本函數(shù)不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會嘗試盡量正確地將其解析。
<?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 對 URL 進行編碼
rawurldecode — 對已編碼的 URL 字符串進行解碼
urlencode — 編碼 URL 字符串
urldecode — 解碼已編碼的 URL 字符串
<?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);
?>
輸出如下:
http%3A%2F%2Fwww.dbjr.com.cn+tianya
http%3A%2F%2Fwww.dbjr.com.cn%20tianya
可以看到,urlencode與rawurlencode的區(qū)別在于:
urlencode() 會把空格編碼為加號(+),rawurlencode() 則把空格編碼為 %20
urldecode()和rawurldecode() 則為對應的解碼函數(shù)。
- php通過字符串調用函數(shù)示例
- PHP 函數(shù)call_user_func和call_user_func_array用法詳解
- PHP中常用的轉義函數(shù)
- PHP中鮮為人知的10個函數(shù)
- php分頁函數(shù)示例代碼分享
- PHP中ini_set和ini_get函數(shù)的用法小結
- php中sprintf與printf函數(shù)用法區(qū)別解析
- PHP json_decode函數(shù)詳細解析
- 實現(xiàn)獲取http內容的php函數(shù)分享
- php的sprintf函數(shù)的用法 控制浮點數(shù)格式
- php遞歸使用示例(php遞歸函數(shù))
- php根據(jù)日期判斷星座的函數(shù)分享
- php中的filesystem文件系統(tǒng)函數(shù)介紹及使用示例
- php教程之魔術方法的使用示例(php魔術函數(shù))
- php中利用explode函數(shù)分割字符串到數(shù)組
- php全角字符轉換為半角函數(shù)
- php獲取網(wǎng)頁標題和內容函數(shù)(不包含html標簽)
- php獲取目標函數(shù)執(zhí)行時間示例
相關文章
laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法
今天小編就為大家分享一篇laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
Yii2實現(xiàn)上下聯(lián)動下拉框功能的方法
這篇文章主要介紹了Yii2實現(xiàn)上下聯(lián)動下拉框功能的方法,簡單分析了上下聯(lián)動下拉框功能的概念、原理與實現(xiàn)技巧,需要的朋友可以參考下2016-08-08
Ajax實時驗證用戶名/郵箱等是否已經(jīng)存在的代碼打包
一個網(wǎng)站采用Ajax技術,不僅可以改善網(wǎng)站的用戶體驗性,而且大大節(jié)約了寶貴的帶寬,減輕了服務器負荷(不再需要交互整個網(wǎng)頁內容,而是局部)。2011-12-12

