curl 是使用URL文法的傳送檔案工具,支援FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支援SSL認證、HTTP POST、HTTP PUT 、FTP 上傳,kerberos、基於HTT格式的上傳、代理、cookie、使用者+口令證明、檔案傳送恢複、http代理通道和大量其他有用的技巧。詳見參考手冊
原來php預設並不進行此項功能的擴充,但還是有的,只是沒有讓它生效罷了。開啟PHP安裝目錄,搜尋以下三個檔案 ssleay32.dll、libeay32.dll和 php_curl.dll,一一拷貝到系統目錄下的system32檔案夾下,修改php.ini檔案,找到;extension= php_curl.dll行,去掉前面的;號,儲存,重啟伺服器。在網站目錄下建立一個PHP檔案,內容如下
$ch = curl_init(―http://www.php.cn‖);
curl_exec($ch);
curl_close($ch);
預覽如果能開啟http://www.php.cn的話說明就安裝成功了。
至於linux及unix的安裝可以要麻煩一些,得從http://curl.haxx.se/或其他網站上下載curl庫
____________________________________________________________
以下關於此函數各項使用參數:
bool curl_setopt (int ch, string option, mixed value)
curl_setopt()函數將為一個CURL會話設定選項。option參數是你想要的設定,value是這個選項給定的值。
下列選項的值將被作為長整形使用(在option參數中指定):
* CURLOPT_INFILESIZE: 當你上傳一個檔案到遠端站台,這個選項告訴PHP你上傳檔案的大小。
* CURLOPT_VERBOSE: 如果你想CURL報告每一件意外的事情,設定這個選項為一個非零值。
* CURLOPT_HEADER: 如果你想把一個頭包含在輸出中,設定這個選項為一個非零值。
* CURLOPT_NOPROGRESS: 如果你不會PHP為CURL傳輸顯示一個進程條,設定這個選項為一個非零值。注意:PHP自動化佈建這個選項為非零值,你應該僅僅為了調試的目的來改變這個選項。
* CURLOPT_NOBODY: 如果你不想在輸出中包含body部分,設定這個選項為一個非零值。
* CURLOPT_FAILONERROR: 如果你想讓PHP在發生錯誤(HTTP代碼返回大於等於300)時,不顯示,設定這個選項為一人非零值。預設行為是返回一個正常頁,忽略代碼。
* CURLOPT_UPLOAD: 如果你想讓PHP為上傳做準備,設定這個選項為一個非零值。
* CURLOPT_POST: 如果你想PHP去做一個正規的HTTP POST,設定這個選項為一個非零值。這個POST是普通的 application/x-www-from-urlencoded 類型,多數被HTML表單使用。
* CURLOPT_FTPLISTONLY: 設定這個選項為非零值,PHP將列出FTP的目錄名列表。
* CURLOPT_FTPAPPEND: 設定這個選項為一個非零值,PHP將應用遠程檔案代替覆蓋它。
* CURLOPT_NETRC: 設定這個選項為一個非零值,PHP將在你的 ~./netrc 檔案中尋找你要建立串連的遠端站台的使用者名稱及密碼。
* CURLOPT_FOLLOWLOCATION: 設定這個選項為一個非零值(象 “Location: “)的頭,伺服器會把它當做HTTP頭的一部分發送(注意這是遞迴的,PHP將發送形如 “Location: “的頭)。
* CURLOPT_PUT: 設定這個選項為一個非零值去用HTTP上傳一個檔案。要上傳這個檔案必須設定CURLOPT_INFILE和CURLOPT_INFILESIZE選項.
* CURLOPT_MUTE: 設定這個選項為一個非零值,PHP對於CURL函數將完全沉默。
* CURLOPT_TIMEOUT: 設定一個長整形數,作為最大延續多少秒。
* CURLOPT_LOW_SPEED_LIMIT: 設定一個長整形數,控制傳送多少位元組。