file get content和curl的區別

2022-10-09 07:09:13 字數 2330 閱讀 5667

一、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...