PHP中使用curl入門教程_php執行個體

來源:互聯網
上載者:User

概述

在我的上一篇文章“curl和libcurl簡介”中簡單的給大家介紹了curl相關的知識。這篇文章向大家介紹一下PHP中的curl擴充。
儘管在上一篇文章中,對curl和libcurl做了區分,也解釋了某些相關的概念。同時,也知道了PHP中的curl擴充其實是對libcurl的封裝。但是,在這篇文章中,為了寫起來方便,將不再對這兩個概念進行區分,因此文章接下來提到的curl其實是指libcurl,希望不會把大家繞糊塗。
關於PHP中curl擴充這裡就不再過多介紹了,大家可以查下文檔。

安裝curl

關於curl的安裝,這裡也不做過多的介紹。windows和linux都是一樣的流程,根據平台選擇相應的安裝方式,然後在php.ini檔案中開啟curl擴充,與別的擴充的安裝都是一樣的。

PHP中使用curl的步驟

在PHP中,可以使用curl完成各種各樣的功能,如抓取網頁,檔案的上傳/下載、類比登入等。但是這些功能的實現都是基於四個步驟完成的,所以curl的使用並不複雜。

使用curl時,主要分為以下四個步驟:

1.初始化一個curl執行個體—curl_init()
2.設定curl執行時的相關選項—curl_setopt()
3.執行curl查詢—curl_exec()
4.關閉curl—curl_close()

在這四個步驟中,1、3、4步都很容易。最麻煩的就是2步,這一步設定curl的選項,這裡有100多個不同的選項,要完成不同的功能,就要對這些選項進行組合。
下面對這四個步驟做一下說明:

1.初始化一個curl執行個體,這一步使用函數curl_init(),查看一下PHP手冊,可以看到該函數的傳回值是一個資源(resource)類型,我們需要使用一個變數來儲存這個執行個體,因為後面的步驟都會用到這個執行個體。具體程式碼範例:

複製代碼 代碼如下:

$curl=curl_init(); //輸出resource(2, curl)

2.設定curl相關選項,設定curl選項使用函數curl_setopt()。該函數接受三個參數:第一個參數就是要設定的curl的執行個體也就是第一步中的那個執行個體,第二個參數要設定的選項,是一個預定義的常量,具體都有哪些選項,大家可以在手冊裡自行查閱。第三個參數是要設定的選項的具體值。
程式碼範例:

複製代碼 代碼如下:

curl_setopt ($curl, CURLOPT_URL, "http://www.php.net");

3.執行curl查詢,這一步使用函數curl_exec()。該函數接受一個參數,這個參數也是第1步中擷取的執行個體。
程式碼範例:
複製代碼 代碼如下:

curl_exec ($curl);

4.關閉當前curl,這一步使用函數curl_close()。該函數同樣也是接受第1步中擷取的curl執行個體作為參數。
程式碼範例:
複製代碼 代碼如下:

curl_close($curl);

在PHP中使用curl一般都遵循這四個步驟,其中主要是通過對2步的不同設定來完成不同的功能,所以第2步是最麻煩的,有的甚至需要大家用心理解。

一個簡單的curl代碼執行個體
前面給大家介紹了使用curl的四個步驟,這裡給大家簡單示範一個抓取網頁內容的執行個體,代碼很簡單,但是希望能協助大家更好的理解curl。
抓取百度首頁內容:

複製代碼 代碼如下:

$curl=curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://www.baidu.com");
$baidu=curl_exec($curl);
curl_close($curl);

運行這一段代碼,頁面將顯示百度首頁。

總結

截止到今天,寫了五六篇部落格了。很想把自己學習的知識記錄下來,也很想跟大家分享,但是一直覺得自己的語言群組織能力不是太好,不知道看到文章的人能不能看懂,希望以後在語言群組織方面能不斷進步吧。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.