بنام خداوند متعال♥️
اَفَض هستم با اموزش
کتابخونه curl در php👌
#قسمت_سوم_curl
خب خب خب بعد از خبر های جنجالی میرسم به قسمت سوم اموزش curl در php😁
پس فهمیدیم برای هندل کردن یک ریکوئست در curl باید از تابع curl_init() استفاده کنیم و بریزیم داخل یک متغیر تا بتونیم کنترلش کنیم
$ch = curl_init();
الان ما اومدیم curl صدا زدیم گفتیم بیا بالا پسر خوب میخوایم ریکوئست بفرستیم😁 حالا باید بفهمونیم به کجا و چجوری ارسال کن❓
دوتا تابع داریم برای این کار
curl_setopt();
curl_setopt_array();
اسم تابع:
curl به معنای همون کل
set هم که همون ست
opt مخفف اپشن
فرق این دو تابع اینه با curl_setopt() اپشن هارو یکی یکی مشخص میکنیم ولی تابع بعدی همرو ارایه میکنیم پس از همین اول برای بهینه بودن کد هامون از curl_setopt_array() استفاده میکنیم
این تابع دوتا پارامتر داره
یادتونه گفتم برای نگه داشتن این هش curl_init() باید بریزیمش تو متغیر؟ حالا اینجا کاربرد داره
پارامتر اول این تابع هندلر curl هست یعنی همون curl_init ریختیم داخل متغیر $ch
پارامتر دوم هم اپشن هامون بصورت ارایه هست مثال:
$ch = curl_init();
Curl_setopt_array($ch,[//options]);
توجه کنید ک اپشن ها ارایه باید باشن😁
اما اینجا باید بخش دوم تموم کنیم و بخش ۳ و ۴ توضیح بدیم چون بخش ۲ که مربوط به اپشن های curl هست حالا حالاها ادامه داره👌
پس میریم سراغ بخش ۳ یعنی اجرای ریکوئست
تابعی داریم به نام
Curl_exec();
یک پارامتر میگیره که هندلر curl هست یعنی همون $ch که قبلا تعریفش کردیم👌
با صدا زدن این تابع curl میاد طبق اپشن هایی که دادیم ریکوئست سمت سایت سرور .. مقصد اجرا میکنه
بخش ۴ هم ک سادست باید curl که هندل کرده بودیم رو ببندیم
تابع curl_close() این کار میکنه و پارامترش هم هندلر curl هست
حالا جمع بندی کنیم:
//هندل curl
$ch = curl_init();
//اپشن دهی
Curl_setopt_array($ch,[//options]);
//اجرا
curl_exec($ch);
//خروج
curl_close();
خیلی ساده بود بنظرم بریم دوتا از پر کاربردی ترین اپشن هارو یاد بگیریم🙈
توجه کنید که اپشن های CURL ثابت هستند و نیازی نیست داخل کوتیشن قرار بگیرن و حتما باید با حروف بزرگ نوشته بشن و با CURLOPT_ شروع میشن
اولین اپشن پر کاربر ما هست:
CUROPT_URL
کارش تعین کردن آدرس سایتی هست که قراره بهش ریکوئست ارسال کنیم
پس اجراش کنیم:
//هندل curl
$ch = curl_init();
//اپشن دهی
Curl_setopt_array($ch,[
CUROPT_URL=>'https://bigmizban.xyz'
]);
//اجرا
curl_exec($ch);
//خروج
curl_close();
اگر کد بالا اجرا کنیم تابع curl_exec میاد سایت بیگ میزبان اکو میکنه خروجی میاره روی صفحه ولی خب ما نمیخوایم اینو و دوست داریم خروجی داخل متغیر ذخیره بشه را حل؟
یادتونه ک گفتم دوتا اپشن پر کاربر داریم و دومیش نگفتم
CURLOPT_RETURNTRANSFER
و ارگومان true یا 1 رو بهش میدیم میاد خروجی سایت رو میریزه داخل تابع curl_exec
پس کدمون میشه:
//هندل curl
$ch = curl_init();
//اپشن دهی
Curl_setopt_array($ch,[
CUROPT_URL=>'https://bigmizban.xyz',
CURLOPT_RETURNTRANSFER=>true
]);
//اجرا
$result = curl_exec($ch);
//خروج
curl_close();
اینطوری خروجی وب سایتی که بهش درخواست ارسال کردیم ریخته میشه توی متغیر $result و میتونیم ازش استفاده کنیم مثلا بریزیم داخل یک فایل
file_put_contents('result.txt',$result);
به همین خوش مزگی از قسمتای بعدی شروع میکونیم اپشن های دیگه رو توضیح میدیم باهم یاد میگیریم☺️🌹
این همه تایپ ارزش یه فوروارد کوچولو برای دوستاتون داره🙈❤️
♤
@phpchallenge♤