一、file_get_contents
1.定義
file_get_contents() 函式將指定 url 的檔案讀入乙個字串並返回。
2.語法
file_get_contents(path, include_path, context, start, max_length)path:要讀取的路徑或鏈結。
include_path:是否在路徑中搜尋檔案,搜尋則設為 1,預設為 false。
context:修改流的行為,如超時時間,get / post 等。
start:開始讀檔案的位置。
max_length:讀取檔案的位元組數。
3.示例
?>二、curl
1.定義
php 支援 daniel stenberg 建立的 libcurl 庫,能夠連線通訊各種伺服器、使用各種協議。libcurl 目前支援的協議有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同時支援 https 證書、http post、http put、 ftp 上傳(也能通過 php 的 ftp 擴充套件完成)、http 基於表單的上傳、**、cookies、使用者名稱+密碼的認證。
2.語法
curl_init:初始化 curl 會話。
curl_setopt:設定 curl 傳輸選項。
curl_exec:返回 true / false,curl_setopt 設定 curlopt_returntransfer 為 true 時將 curl_exec() 獲取的資訊以字串返回。
curl_close:關閉 curl 會話。
3.示例
test.php
<?php
echo "i'm a test php";
?>
index.php
<?php
// 建立乙個新 curl 資源
$ch = curl_init();
// 設定url和相應的選項
curl_setopt($ch, curlopt_url, "http://localhost/test.php"); // 需要獲取的 url 位址,也可以在 curl_init() 初始化會話的時候。
curl_setopt($ch, curlopt_customrequest, 'get');
curl_setopt($ch, curlopt_header, false); // 啟用時會將標頭檔案的資訊作為資料流輸出。
curl_setopt($ch, curlopt_connecttimeout, 10); // 在嘗試連線時等待的秒數。設定為 0,則無限等待。
curl_setopt($ch, curlopt_timeout, 10); // 允許 curl 函式執行的最長秒數。
curl_setopt($ch, curlopt_returntransfer, true); // true 將 curl_exec() 獲取的資訊以字串返回,而不是直接輸出。
// 抓取 url 並把它傳遞給瀏覽器
$ret = curl_exec($ch);
var_dump($ret);
// 關閉 curl 資源,並且釋放系統資源
curl_close($ch);
?>
三、file_get_contents 和 curl 區別
curl 可以進行 dns 快取,同乙個網域名稱下的或其它資源只需要進行一次dns查詢。
curl 相對來說更加快速穩定,訪問量高的時候首選 curl,缺點就是相對於 file_get_contents 配置繁瑣一點,file_get_contents 適用與處理小訪問的應用。
和 區別和聯絡, 和 區別和聯絡
和 區別和聯絡,和 區別和聯絡,實際專案中,什麼情況用哪種?首先,和 的聯絡 共同點 和 都可以用作 邏輯與 運算子,都是雙目運算子。具體要看使用時的具體條件來決定。無論使用哪種運算子,對最終的運算結果都沒有影響。情況1 當上述的運算元是boolean型別變數時,和 都可以用作邏輯與運算子。情況2 ...
rpx和樣式和class和flex
5 style 靜態的樣式統一寫到 class 中。style 接收動態的樣式,在執行時會進行解析,請盡量避免將靜態的樣式寫進 style 中,以免影響渲染速度。例 6 class 用於指定樣式規則,其屬性值是樣式規則中類選擇器名 樣式類名 的集合,樣式類名不需要帶上.樣式類名之間用空格分隔。關於f...
if和switch和for語句
if和switch很像。具體什麼場景下,應用那個語句呢?如果判斷的具體數值不多,而是符合byte,short,int,char,字串。這五種型別。雖然兩個語句都可以使用,建議使用switch語句,因為效率稍高。其他情況,對區間判斷,對結果為boolean型別判斷,使用if,if的使用範圍更廣。whi...