السلام عليكم ورحمة الله وبركاته ،
تحية لكم جميعاً اخواني اخواتي في هذا الصرح العلمي المهيب , أقدم لكم اولى مشاركاتي , والتي سأحاول الشرح فيها بشئ من التفصيل وفي كل موضوع سأحاول التطرق الى مكتبة او دالة على او تقنية بحيث يكون المجمل حصيلة معرفية يمكننا من خلالها تطبيق مشروع مفيد للجميع ان شاء الله .
ورأيت من أن نبدأ بمكتبة رائع بكل حق وهي cURL Library
هي مكتبة من تصميم Daniel Stenberg تمكننا من الاتصال بعدد متنوع من الخوادم بعدة طرق وعدة بروتوكلات مختلفة ، هذه المكتبة تدعم التالي :
http
https
ftp
gopher
telnet
dict
file
ldap protocols.
HTTPS certificates
HTTP POST
HTTP PUT
FTP uploading
وهذه المكتبة موجودة ومدعومة من PHP 4.0.2 لذلك على الارجح انك ستجدها في PHP 5 فما فوق بشكل افتراضي
إذن تعرفنا على المكتبة و من صممها والدعم الخاص بها , هيا نذهب الى شيء اجمل من ذلك , ما هي المجالات الي مكننا استخدامها به ؟
1- تصميم برمجيات خاصة بالتنبيهات المهمة من منظومات الدفع الالكترونية .
2- رفع وتنزيل الملفات من و إلى السيرفرات ( وهذه النقطة الاهم التي تعنيني بشكل خاص وسيتم التطرق لها في المواضيع التالية ان شاء الله )
3- تسجيل الدخول لاعضاء في مواقع اخرى ( وهذه بنفس اهمية النقطة السابقة )
لذلك يمكنك القول ان cURL هي الشخص الذي توكله بمهام السفير حيث سيذهب الى دول أخرى لاجراء صفقات و عمل محادثات و اجراء اتصالات و العودة سالما بنتائج مرضية ومهمة , هذا هو الحال مع مكتبة cURL فانت ستوجه الدالة للاتصال بخادم او موقع أخر ليقوم بمهام السفير .
وحتى يقوم هذا السفير بمهامه يجب على الاقل اجراء بعض التعليمات الاساسية ، وهنا في حالة سفيرنا cURL يجب ان يلتزم بالمهام التالية ( الدوال ) المستخدمة :
1- curl_init : بدء الجلسة و تعيين متغير وظيفته تمرير الدوال المناسبة للسيرفر او الخادم البعيد
2- curl_opt: هذه الدالة الأهم حيث سنتسخدمها في تمرير الاوامل للخادم البعيد و بالطبع سنستخدما مرارا وتكرارا .
3- curl_exec : الان بعد ان تم تنفيذ الخطوتين السابقتين يجب تمرير هذا الامر ليتم تشغيل مجموعة الاوامر السابقة دفعة واحدة .
4- curl_close : هذه الدالة وظيفته اقفال الاتصال وانهاء الجلسة .
إليكم احبتي المثال التالي : مع الشرح ان شاء الله ,
/** *بدء جلسة الزاحف */ $ch = curl_init(); /** * تعيين الرابط الذي سيتم الزحف اليه */ curl_setopt($ch, CURLOPT_URL, ‘http://news.google.com/news?hl=en&topic=t& output=rss’); /** * انشاء ملف جديد */ $fp = fopen(‘rss.xml’, ‘w’); /** * هنا امرنا الزاحف بوضع محتويات الموقع الهدف داخل الملف rss.xml */ curl_setopt($ch, CURLOPT_FILE, $fp); /** * الان يتم بدا جملة الأوامر السابقة */ curl_exec ($ch); /** * وأخير قفل الاتصال وقفل اتصال الملفات ايضا */ curl_close ($ch);
الامر يبدو بسيطاً واتمنى ان اكون وفقت في الشرح مع انني لجأت الى مصادر أخرى ولكن كل ما يهمني هو الفائدة للجميع , علماً انني ساناقش هذه المكتبة مرة أخرى مع مثال مباشر ان شاء الله , وساجعل كما اسلفت المواضيع مترابطة معاً لكي نكون قادرين على تنفيذ فكرة معينة .
ولكم كل الشكر والتقدير