قسمت اول
با استفاده از cURL می توان با سرورهای مختلف و از طریق پروتکل های متفاوت ارتباط بر قرار کرد و کارهای مشابه کارهای زیر را انجام داد:
- نوشتن ماژولهای پرداخت آنلاین و ارتباط با درگاه های پرداخت
- دانلود و آپلود فایل از سرورهای دیگر
- لاگین کردن به بخش کاربری سایتها
در زیر چند تابع پر کاربرد این کتابخانه ی قدرتمند را مرور می کنیم :
- curl_init : آماده سازی یک نشست curl و برگشت دادن یک handle برای پاس دادن به دیگر توابع کاربردی curl
- curl_opt : این تابع موتور اصلی این کتابخانه می باشد و در طول کدنویسی و کار با این کتابخانه بارها مورد استفاده قرار می گیرد و با تغییر پارامترهای ان می توان کارهای زیادی انجام داد.
- curl_exec : این تابع نشست(session) آماده شده را شروع می کند
- curl_close : نشست(session) را به پایان می رساند و ارتباط را قطع می کند
خوب فعلا برای شروع کافی است، یک مثال را با هم بررسی می کنیم در مثال زیر یک فایل را از یک سرور بر روی هاست خود با استفاده از curl دانلود می کنیم(برای مثال RSS همین بخش پی اچ پی سایت برنامه نویس را دانلود می کنیم):
<?php
/**
* Initialize the cURL session
*/
$ch = curl_init();
/**
* Set the URL of the page or file to download.
*/
curl_setopt($ch, CURLOPT_URL,
'http://www.barnamenevis.org/external.php?type=RSS2&forumids=30');
/**
* Ask cURL to return the contents in a variable
* instead of simply echoing them to the browser.
*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
/**
* Execute the cURL session
*/
$contents = curl_exec ($ch);
/**
* Close cURL session
*/
curl_close ($ch);
?>
همونطور که دیدید curl_setopt محور اصلی کار ما بود. فرآیند کار با توابع این کتابخانه از طریق تغییر پارامترهای این تابع مهم کنترل می شود.
در کد بالا از دو پارامتر این تابع استفاده کردیم :
- CURLOPT_URL : آدرس url ای است که می خواهیم آن را پردازش کنیم این پردازش می تواند دانلود یک فایل و یا ارسال اطلاعات به آن url باشد
- CURLOPT_RETURNTRANSFER : اگر مقدار این آپشن را برابر 0 قرار دهیم تابع curl_exec نتیجه را در مرورگر نمایش می دهد.(برای دیدن مقادیر دیگر به راهنمای PHP مراجعه کنید گرچه سعی بنده براین است که با مثالهای متعدد آنها را شرح دهم)