XII. CURL, Client URL Library Functions

PHP תומכת ב libcurl, ספריה שנכתבה על ידי Daniel Stenberg, המאפשרת להתחבר ולתקשר עם סוגים שונים של שרתים ופרוטוקולים. libcurl תומכת כרגע בפרוטוקולים http, https, ftp, gopher, telnet, dict, file, ן ldap. libcurl , כמו כן תומכת ב HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading (שיכול להתבצע גם בעזרת PHP's ftp extension), HTTP form based upload, proxies, cookies, and user+password authentication.

על מנת להשתמש ב CURL functions עליך להתקין את חבילת הCURL. PHP מחייבת אותך להשתמש ב CURL 7.0.2-beta ומעלה. PHP לא תעבוד עם אף גירסה של CURL מתחת לגירסא 7.0.2-beta.

כדי להשתמש ב PHP's CURL support עליך לקמפל את PHP --with-curl[=DIR] כאשר DIR הוא המיקום של הספריה המכילה את ספריית ה lib וספריית ה include. בספריית "include" צריך להיות ספרייה בשם "curl" שצריכה להכיל את הקבצים easy.h ו curl.h. קובץ בשם "libcurl.a" צריך להמצא תחת ספריית "lib".

פונקציות אילו התווספו בגירסה PHP 4.0.2.

לאחר ש PHP קומפל עם CURL support, ניתן להתחיל להשתמש בפונקציות CURL. הרעיון הבסיסי העומד מאחורי פונקציות CURL הוא שמאותחל CURL session בעזרת curl_init(), ואז ניתן לקבוע את כל האופציות להעברת המידע דרך curl_exec() ,לאחר מכן נסגר ה session תוך כדי שימוש ב curl_close(). לפנינו דוגמה העושה שימוש בפונקציות CURL על מנת להביא את עמוד הבית של PHP לתוך קובץ:

דוגמה 1. שימוש ב PHP's CURL module על מנת להביא את עמוד הבית של PHP

<?php

$ch = curl_init ("http://www.example.com/");
$fp = fopen ("example_homepage.txt", "w");

curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
?>

תוכן העניינים:
curl_close -- סגירת CURL session
curl_errno -- מחזירה מספר מסוג integer המכיל את מספר ה error האחרון
curl_error --  מחזירה ערך מסוג string המכיל את ה error האחרון ב session הנוכחי
curl_exec -- ביצוע CURL session
curl_getinfo --  מביאה את המידע על העברה מסוימת
curl_init -- אתחול של CURL session
curl_setopt -- קבע אפשרויות להעברת מידע עם CURL
curl_version -- מחזירה את גירסת ה CURL הנוכחית