صفحة 1 من 3 1 2 3 الأخيرةالأخيرة
النتائج 1 إلى 15 من 31

الموضوع: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

  1. #1
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    البرمجة بلغة PHP...دوال وأساليب وحيل برمجية



    السلام عليكم...

    عبر هذه المشاركة, أود أن أشارك مع الاخوة في القسم شيئا بسيطا عن لغة PHP لبرمجة المواقع...
    هذا الشيء, ربما يكون كود صغير, أو دالة ليستخدمها آخرون في جزء من برنامجهم, أو حيلة برمجية ..... الخ
    في العمل, أتوصل الى الكثير من الحلول, وأحب أن اضعها هنا, كذلك اتمنى من الآخرين ان يشاركونا بنفس ما لديهم...

    هذه السطور التي أكتبها تحتاج الى مبرمج من المستوى المتقدم أو المتوسط في برمجة PHP
    أستخدم لغة PHP اصدار 5, وأنصح بترك الاصدار الرابع تماما...

    الفهرس الخاص بالموضوع

    الطباعة بعدة أشكال مع الجداول (كيمو) 1
    التعامل مع قواعد البيانات (كيمو)3
    حماية الملفات الهامة (كيمو)3
    عمل لوحة تحكم وتحديد المستخدمين (كيمو)3
    استعلامات متقدمة لقواعد البيانات (كيمو)4
    التعامل مع الملفات النصية (كيمو)5
    دوال هامة لا غنى عنها (محمد زكي) 8
    التعامل مع XML (كيمو)10
    التعامل مع الوقت (محمد زكي) 11
    التعامل مع البريد الإلكتروني (محمد زكي) 12
    لمشاهدة الموضوع فقط اضغط على الرقم الخاص بالمشاركة المدرج أمام الموضوع
    =====================
    سأبدأ معكم بشيء أعتبره قليل التواجد في لغة PHP, وهو الاعتماد على Class من نظام تشغيل مايكروسوفت ويندوز, للحصول على معلومات محددة, واعادة تصديرها الى قاعدة بيانات أو نموذج أو حتى الى الصفحة نفسها (صفحة او كلاس..... الخ).
    هذه الخدمة هي WMI وهي اختصار ل: Windows Management Instrumentation وهي Service تبدا تلقائيا مع بدء نظام التشغيل ويندوز (اعداد ويندوز الافتراضي يعين تشغيلها الى أتوماتيك).

    يتم استدعاء الكلاسات الموجودة في هذه الخدمة لاستدعاء معلومات أو بيانات من خلال لغات البرمجة .NET لكن طريقة استدعائها في لغة PHP كالتالي:
    كود PHP:
    $wmi = new COM('winmgmts://');
    $pro $wmi->ExecQuery("SELECT * FROM Win32_Processor");
    foreach(
    $pro as $obj){
        
    $cpu_name $obj->Name;
    }
    echo 
    $cpu_name
    في المثال السابق استدعينا الكلاس Win32_Processor ووضعناه داخل المتغير Pro
    نستخلص المتغير Name الموجود داخل الكلاس ونضعه في المتغير cpu_name

    بنفس الطريقة افعل ما تريده مع أغلب الكلاسات الموجودة هنا:
    http://msdn2.microsoft.com/en-us/library/aa394554.aspx

    حيل تطبيقية:
    يمكنك صنع نمذج أو تطبيقات ويب جاهزة التعبئة, خاصة تطبيقات انترانت intra net التي تجمع اسم المستخدم على الدومين واسم الدومين..... الخ
    أو يمكنك عمل نماذج أخرى لجمع مواصفات جهاز الزائر..... الخ

    حيل خبيثة: تستخدم بعض تطبيقات PHP حيل خبيثة من خلال (تشغيل تطبيق PHP في الخلفية لصفحتك, لجمع معلومات معينة, ثم ارسالها, بينما أنت تتصفح الموقع ولا تعرف)..
    ====================

    طريقة لطباعة جدول متباين التظليل:
    بمعنى: صف بلون والصف التالي بلون مختلف, وهكذا (مثلا أبيض ورمادي).
    كود PHP:
    $j=1;
    while(
    $thisrow=mysql_fetch_row($result))
    {
    if (
    $j%2==0){
    //printing code
    $j++;
    }
    else{
    //printing code with other color
    $j++
    }
    }
    // end of while 
    كما هو واضح من الكود السابق, وضعنا محتويات قاعدة بيانات في مصفوفة اسمها $thisrow , وقبل البدء في حلقة التكرار عينا المتغير J للقيمة 1, وأجرينا أهم خطوة وهي اختبار المتغير j فاذا كان زوجي أي باقي القسمة على 2 يساوي صفر, وضعنا الخرج في تنسيق معين, والا يصبح العدد فردي ويكون الخرج في تنسيق آخر....

    احصل على كفاءة اكثر في الكود:
    قد يتساءل مبرمج محترف عن (هذا يؤدي الى تكرار سطور معينة في الكود) وهي سطور الطباعة...
    لأنها مرة للزوجي ومرة للفردي, فقط نغير لون الخلفية
    الحل بسيط جدا... وهو عمل دالة بسيطة للطباعة...
    ترى كيف نكتب هذه الدالة؟؟

    هذا تمرين بسيط أتركه لمن يريد المحاولة..

    نلتقي قريبا ان شاء الله مع أساليب وطرق برمجية أخرى

    بالتوفيق

  2. #2
    عضو
    تاريخ التسجيل
    Dec 2005
    المشاركات
    687
    معدل تقييم المستوى
    13

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    موضوع رائع ،،
    موضوع رائع رائع رائع ،،
    موضوع بسيط الشرح ،، وقيم وضروري جدا في التعامل ،،
    اشكر للمشرف العام على هذه الزيارة الرائعة لمنتدى البرمجة ...

    سيتم التقيم ***** (5نجوم)

  3. #3
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    شكرا أخي محمد على مرورك,
    الموضوع يزداد قوة بمشاركة الآخرين أفكارهم ونقاشهم حول الأكواد الموجودة وطرح ما لديهم من افكار..... الخ
    ======================

    أتحدث الآن عن نقطة هامة في قواعد البيانات يهملها كثير من المبرمجين,
    معروف أننا نفتح قاعدة بيانات لاجراء عمليات عليها كالعرض والتحديث والحذف.... الخ
    لكن الكثير ينسى أن (يغلق) قاعدة البيانات في نهاية الملف أو السكريبت...
    أمر اغلاق قاعدة البيانات:
    كود PHP:
    mysql_close($db_handl); 
    حيث يمثل المتغير db_handl دالة اتصال مع قاعدة البيانات:
    كود PHP:
    $db_handl=mysql_connect('server_name''mysql_user''mysql_password'); 
    ======================
    انشاء ملف محمي بكلمة سر: (يمكن استخدامه كلوحة تحكم بسيطه):

    اقرأ هذا الكود:
    كود PHP:
    require('conf.php');
    define('IN_ADMIN',true);

    session_name('kimo');
    session_start();

    if (isset(
    $_POST['logsub'])) {
        if (
    $_POST['uname'] == $confg['uname'] && $_POST['pword'] == $confg['pword']) {
          
    $_SESSION['login'] = true;
        }
        else {
          
    $err 'Invalid username or password';
        }
    }
    elseif (
    $_GET['action'] == 'logout') {
      
    $_SESSION = array();
      
    session_destroy();

    هذا أبسط كود يمكن استخدامه لانشاء مستخدم للوحة تحكم بسيطه من صفحة واحدة, مع ارسال session الى المتصفح, ضع الكود السابق في الهيدر..
    واستخدم الكود التالي للتحكم بتسلسل التنفيذ (طبعا الكود التالي في البودي):
    كود PHP:
    if ($_SESSION['login']) {
    //code will be excute if log in is true
    //it means this user is the admin
    }
    elseif (
    $_GET['action'] == 'logout') {
    //you must put this condition to log out the admin and close the session..... 
    //you must.... you must
    }
    else {
    //login form here, put remember to match the variables
    }
    //I think you will forget to close the DB!!!!!!
    //remember :) 
    ملاحظات هامة:
    - استخدمنا المتغير $_session وليس $HTTP_SESSION_VARS لأن الأول متغير جلوبال Global ولا يحتاج لتعريفك له بهذا, وبنفس الطريقة نستخدم متغيرات $_POST, $_GET
    - يجب تدمير السيشن كما تشاهد بالأعلى, لضمان الحماية.

    أساليب برمجية لتعيين أكثر من مستخدم, وتحديد وظيفة لكل نوع من المستخدمين:

    قد يكون هناك تفكير بأن يكون للوحة التحكم البسيطة هذه أكثر من مستخدم, أو أكثر من مجموعة, وسأعتمد على فكرة مجموعة أكثر لأنها الأفضل في العمل, ولكل مجموعة خصائص ادارية محددة...

    ستحتاج الى اضافة حقل آخر في فورم الدخول ولنفترض أنه Group Name ونضعه في المتغير $_POST['gname']

    اذا عند البدء في تنفيذ الكود في الصفحة, فقط اضف التالي:

    كود PHP:
    if (($_SESSION['login']) && ($_POST['gname']==$confg['group1']))
    {
    //code for group 1
    }
    if ((
    $_SESSION['login']) && ($_POST['gname']==$confg['group2']))
    {
    //code for group 2

    وهكذا.... وطبعا بنفس الطريقة اضف شروطا أخرى لتحديد مهام معينة لمستخدم محدد.... الخ
    فقط ضع ما تريد من بيانات في ملف config كما تلاحظ أنني استخدمت.

    ربما نتحدث في المرة القادمة عن السيشن Session فله اساليب كثيرة وحيل برمجية تحتاج أن نلقي عليها نظرة....

    بالتوفيق

  4. #4
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    ربما سريعا جدا لمن يفضلون استخدام قواعد البيانات بدلا من الملفات لحفظ معلومات المستخدمين والمجموعات, خاصة الكبيرة منها...
    استدعي قاعدة البيانات كما اشرنا سابقا ونفذ عليها الاستعلام التالي:
    كود PHP:

    $search_name
    =$_POST['uname'];
            
    $query="select * from users as t1 where t1.name ='".$search_name."'";  //select the name
            
    $result mysql_db_query($dbname$query) or die("Failed Query of " $query); 
    المعلومات المخزنة في $result الآن تستطيع مقارنتها بما تريد, كلمة السر المدخلة, اسم المجموعة..... الخ

    معلومة سريعة جدا: استخدم ال FLAGS في قاعدة بياناتك, بحجم بايت واحد وتحمل القيمة صفر أو واحد, لتحدد بها معاملات كثيرة جدا, كخصائص تنفيذ أكواد معينة.... الخ

    سأعطيك مثال سريع أنسخه لك من أحد التطبيقات التي أقوم ببرمجتها حاليا:

    كود PHP:

    $thisrow
    =mysql_fetch_row($result);
    if (
    $thisrow[6]==0)
                    
    $thisrow[6]="Not Approved";
                    
    $thisrow[6]="Approved"
    flag بسيط لتحديد نوع Item وفق تصنيف معين, فيظهر عند العرض في لوحة التحكم بالشكل الموجود بالكود كما ترى.
    لا تنسى أن هذه طريقة تستخدم ايضا للتأكد من حالة عنصر معين في قاعدة البيانات قبل تنفيذ اجراء عليه,
    مثلا العنصر السابق في المثال الأخير: Not Approved لا يمكن اجراء معين عليه, لذا لابد من التأكد من حالته قبل التنفيذ والا طباعة رسالة تفيد مدير النظام بأن هذا خطأ أو غير مسموح..
    تريد تعرف كيف؟؟؟
    جرب بنفسك

    بالتوفيق

  5. #5
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    لغة PHP والملفات النصية:

    (تسلسل الكود الموجود بالموضوع غير مرتبط ببعضه, ولا يصلح لتكوين ملف كامل, انما هي حلول وأفكار لخطوات متعلقة بالقراءة والكتابة من ملف نصي)...


    كثير من مطوري ويب يحتاجون الى تخزين بعض البيانات النصية البسيطة في ملفات txt عادية, ليست بيانات مهمة, بل غالبا ما تكون ملفات log أو events أو errors..... الخ

    وأسهل الطرق التي نستخدمها لهذا الغرض هي القراءة والكتابة من خلال مصفوفة (كوسيط).
    فالقراءة من ملف نستخدم لها الأمر البسيط التالي:
    كود PHP:
    $read_arrayfile("2.txt"); 
    وهذا الأمر يقوم بقراءة (كل سطر) على أنه (عنصر) واحد في المصفوفة...

    عيب هذا الأمر هو أنه يخزن الناتج في مصفوفة أحادية البعد فقط,,,

    الحل: استخدم FLAG عند كتابة الملف, لنفترض مثلا انك اعتبرت أن كل بداية لعنصر ثنائي ستكون مثلا ##number##
    اذا يجب أن تكون مصفوفتك الثنائية كالتالي:

    كود PHP:
    $array_2d = array (
    ##1##” => array (
    “error” => “404”,
    “ip” => 127.0.0.1
    ),
    ##2##” => array (
    “error” => “404”,
    “ip” => 255.255.255.255
    )
    ); 
    لذا افترض مجازا أن محتويات ملفك النصي كالتالي:
    ##1##
    404
    127.0.0.1
    ##2##
    404
    255.255.255.255


    الآن عليك الكتابة في مصفوفة جديدة (أقصد كتابة ما قرأته من الملف النصي وتم تخزينه في مصفوفة احادية, نريد وضعه في مصفوفة ثنائية)...

    جرب أن تكتب دالة لتقوم بهذا, وللتسهيل عليك ساضع لك الأفكار التالية:
    اعتبر ال Flag الذي اخترناه ##number## هو العلامة التي ستتكرر عندها الحلقة لكتابة المصفوفة الفرعية الصغيرة.
    قبل بدء الحلقة عين متغير I الى القيمة 1 وهي القيمة التي يبدا من عندها العد للFlag.
    ابدا الحلقة الكبيرة بالتأكد من أن قيمة عنصر المصفوفة الأحادية يساوي الflag الحالي. وطبعا تأكد من أن العنصر الحالي للمصفوفة موجود.. isset
    الآن تخيل أنك داخل الحلقة الأولى, ماذا تريد؟ طبعا تريد أن تكتب عناصر المصفوفة الفرعية والتي ستكون قيمة الخطأ (404) ورقم ألاي بي... أو ايا كان عدد العناصر.
    قم بانشاء حلقة اخرى لكتابة العناصر الداخلية للمصفوفة الصغيرة... ,اترك لك تخيل الشروط اللزمة لذلك.
    بعد انتهاء الحلقة الصغيرة عين قيمة المتغير I الى:
    كود PHP:
    $i++ 
    ربما تتساءل لماذا لم أنسخ لك هذا الكود مباشرة الى المتصفح لتقرأه وتستخدمه, الاجابة هو أنك يجب أن تفكر, فالمشاركة التي أبغيها هي وضع (أفكار وطرق واساليب) وعليك بالتفكير والتجربة...
    =================
    الآن قرأنا المصفوفة ووضعناها في مصفوفة ثنائية البعد,
    هل تعرف أنه من الأفضل أن تمسح المصفوفة القديمة, لتخلي مكان بالذاكرة!!!!
    هذا ايضا خطأ يقع فيه كثير من مبرمجي لغة PHP, وأراه في كثير من السكريبتات, متغيرات وخاصة مصفوفات كثيرة, نستخدمها كوسيط للقراءة ونستخلص منها كل ما نريده من متغيرات, وتنتهي الحاجة اليها, الا أنها تظل راقدة في الكاش بدون داعي, خاصة عندما يكون المتغير ضخم.

    =================
    استخدم أمر
    كود PHP:
    array_push 
    لادراج متغيرات في نهاية الدالة, فهو ممتاز جدا...
    في احدى السكريبتات, شاهدت كود يقوم بقراءة مصفوفة ويضعها في مصفوفة مؤقته, ويقرأ عدد عناصرها ثم يقوم بادراج العناصر الجديدة وفقا لزيادة رقم العنصر الجديد (رقم العنصر الجديد = عدد عناصر المصفوفة القديمة + 1) ثم + 2 وهكذا....
    لماذا لم يستخدم push بدلا من ارهاق الذاكرة بهذا الكم من العمليات.

    استخلص من هذا: لا تلتف حول نفسك في الكود, ابحث عن أقصر الطرق, وأسرعها كفاءة
    =================
    الآن تأتي مرحلة الكتابة الى ملف,
    أفترض أنك تكتب مصفوفة الى ملف, هذه المرة سأضع لك الكود مباشرة (نقلا من احدى السكريبتات التي أقوم ببرمجتها), واترك لك عملية فهم ما يجري:
    كود PHP:
    $array_str="";
    While(list(
    $key,$subarray) = each($mainarray))
        {
            
    $array_str.="$key|";
            while(list(
    $subkey,$value) = each($subarray))
                {
                  
    $array_str.="$value|";
                }
            
    $array_str.="|";
        }
    $file_write="1.txt";
    $fd fopen($file_write,'a+') or die("Cant open file");
    $write=fwrite($fd,$array_str); 
    الملحوظة المهمة, هي أنني هنا صنعت Flag وعينت قيمته الى: |
    الكتابة تتم في سطر واحد فقط, ويمكن جعل كل عنصر في سطر مستقل من خلال اضافة باراميتر الانتقال لسطر جديد في كود الخرج.
    الأهم من هذا, هو أنني استخدمت باراميتر +a عندما فتحت الملف, وهذا الباراميتر يقوم بتوجيه المؤشر الى نهاية الملف مباشرة...

    هل تعرف لماذا استخدمناه؟
    لأنه ما دمت لا تحتاج البيانات السابقة الموجودة في الملف, اذا لا حاجة لاثقال الذاكرة بها, فقط افتح الملف واضف ما تريد من بيانات واغلق مرة أخرى....

    لا أعرف ماذا لدينا أيضا بخصوص الكتابة الى الملفات, لا يحضرني شيء محدد حاليا, لكني حاولت استعراض السيناريو التقليدي, وتعرضت لنقاط يهملها الكثير, وتسبب بطء كبير للكود ووقت تنفيذه...


    بنهاية هذه الجولة السريعه, أتمنى أن تجربوا بأنفسكم, فالبرمجة بصفة عامة لا تأتي بالنسخ واللصق كما يفعل الكثيرون, بل تحتاج منك أن (تفهم - تجرب - تكتسب الخبرة)

  6. #6
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    أحببت أن أخبركم, أنني سأبدأ ان شاء الله المشاركة القادمة بالتحدث عن PHP & XML.....
    خاصة وأن اصدارة PHP5 بها الكثير من التحسينات الخاصة بتوافقية اللغة مع XML,

    اضافة الى وجود كثير من تطبيقات web2.0 المعتمدة على XML القياسية, مما يجعل غالبية مطوري ويب PHP في احتكاك دائم مع هذا الموضوع تحديدا..

    لن أطيل كثيرا, ولكن باذن الله ربما نتعلم مباديء اساسية ستساعدك كمطور على انشاء تطبيقات ويب لتوليد خرائط لموقعك, أو روابط RSS اتوماتيكية, من خلال تعبئة فورم بسيط...

    أخيرا, ربما لن أكتب خلال ايام الجمعه والسبت (أجازتي الأسبوعية ) واستغلها أكثر في القراءة فقط...

    بالتوفيق.

  7. #7
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    عفوا, غادرت الموضوع, ثم تذكرت بعض النقاط فقررت العودة لأكتبها

    أفكار بخصوص الكتابة الى الملفات:
    يمكنك وضع حقول مخفية في أي نموذج يقوم المستخدم بتعبئته, وتصدير بيانات هذه الحقول الى ملف نصي مباشرة, هل تعرف مثل ماذا؟؟
    اشهرها المواقع التي تحصل على بريدك الالكتروني وتقوم بتعبئة mail list مباشرة, هذا الملف يكون مربوط بسكريبت ارسال رسائل بريدية دورية, أو يتم تبادله مع مواقع أخرى, وهكذا....

    وبعضها ملفات احصائية, فمثلا, من خلال خدمة WMI التي سبق وتحدثنا عنها, يمكنك الحصول على معلومات خاصة بنوع المتصفح, ودقة الشاشة..... الخ
    ثم: دالة بسيطة تقرأ الملف وتقارن الخرج, اذا كان المتصفح IE عين المتغير الى القيمة السابقة + واحد,,, وهكذا.
    سيخرج عندك نتيجة كلية احصل منها على النسبة المئوية بقسمة عدد IE على عدد المستخدمين الكلي, وهكذا ايضا مع الباقي.... الخ

    من الاستخدامات المفيدة ايضا: تسجيل بيانات محاولات الدخول الفاشلة الى لوحة تحكم أو صفحات ممنوعة..
    مثلا اقوم بتطبيق هذه الطريقة من خلال تسجيل أرقام آي بي المستخدم, وفي حالة فشل الدخول, يتم تصدير هذه البيانات مباشرة الى ملف Log....

    بالتوفيق

  8. #8
    عضو
    تاريخ التسجيل
    Dec 2005
    المشاركات
    687
    معدل تقييم المستوى
    13

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    دوال هامة لا غنى عنها
    لغة بي اتش بي مليئة بالدوال التي لا نهاية لها، ومن مرونة اللغة ان هناك للهدف الواحد عدة دوال ولكن بأساليب مختلفة ..
    الدوال التالية يمكن اسناد قيمها لمتغير معين ومن بعد عرض قيمة المتغير أو العرض مباشرة بإستخدام تعليمة الطباعة الخاصة (echo).

    error_reporting()
    يتم بواسطة هذه الدالة التعرف على الأخطاء في وقت التنفيذ وهذه الدالة ضرورية لضمان إستمرار عمل الموقع كما يريد مبرمج الموقع في حال حدوث أخطاء.

    isset()
    يتم بواسطة هذه الدالة تحديد ما إذا كان تم تحديد قيمة لمتغير معين أم لا فمثلا ،،
    في حال كان هناك أي قيمة مسندة للمتغير $p إذا إذهب لخيارات طباعة الصفحة.

    var_dump()

    هذه الدالة لها فائد كبيرة في طباعة المتغيرات ومعلومات عن المتغيرات وهذه فائدة رائعة وضرورية لجميع المبرمجين ..
    حدد موقع بي اتش بي الرسمي شكل هذه الدالة
    كود PHP:
    void var_dump     mixed $expression    [, mixed $expression    [,  $...   ]] ) 
    ونظرا لأن البعض قد يستغرب عمل هذه الدالة فهذا مثال من الموقع الرسمي
    كود PHP:
    <?php

    $b 
    3.1;
    $c true;
    var_dump($b$c);

    ?>
    ناتج تنفيذ المثال السابق هو
    كود PHP:
    float(3.1)
    bool(true
    ini_set and ini_get
    هذه الدوال الخاصة بالتعامل مع أدوات وخيارات عامة قليل ما نراها مستخدمة، مع انها ضرورية جدا للمبرمجين .
    ini_set تستخدم في إسناد قيم لمتغيرات وخيارات أساسية.
    ini_get تستخدم في التعرف على قيم المتغيرات الأساسية.
    المثال التالي يوضح اكثر ..

    كود PHP:
      <?php
    /*
    Our php.ini contains the following settings:

    display_errors = On
    register_globals = Off
    post_max_size = 8M
    */

    echo 'display_errors = ' ini_get('display_errors') . "\n";
    echo 
    'register_globals = ' ini_get('register_globals') . "\n";
    echo 
    'post_max_size = ' ini_get('post_max_size') . "\n";
    echo 
    'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
    echo 
    'post_max_size in bytes = ' return_bytes(ini_get('post_max_size'));

    function 
    return_bytes($val) {
        
    $val trim($val);
        
    $last strtolower($val{strlen($val)-1});
        switch(
    $last) {
            
    // The 'G' modifier is available since PHP 5.1.0
            
    case 'g':
                
    $val *= 1024;
            case 
    'm':
                
    $val *= 1024;
            case 
    'k':
                
    $val *= 1024;
        }

        return 
    $val;
    }

    ?>
    المثال السابق وضح الكثير والتالي هي المخرجات
    كود:
    display_errors = 1
    register_globals = 0
    post_max_size = 8M
    post_max_size+1 = 9
    post_max_size in bytes = 8388608
    set_time_limit
    إسناد وقت معين لتحديد لإجراء تنفيذ كود بي اتش بي.

    يجب على مبرمج php معرفة أكبر قدر ممكن من الدوال المساعدة وذلك لضمان قوة البرنامج

  9. #9
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    اضافة ممتازة جدا أخ محمد,

    بالفعل, استخدام الدوال يمثل أحد أهم عناصر القوة في لغة PHP, وعليك كمبرمج أن لا تتوقف عن البحث بخصوص الدوال سواء القياسية منها أو المخصصة (التي أنشأها مستخدمون آخرون)...

    ربما مشاركتك هذه كانت البداية للحديث عن دالة simpleXML الرائعة جدا...

    فاصل للكتابة والتلخيص ثم اعود..

  10. #10
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    SimpleXML دوال ظهرت مع PHP5 لتمنح المستخدمين مزيد من المرونة في التعامل مع ملفات XML....

    كود PHP:
    if (file_exists('store.xml')){
            
    $xml simplexml_load_file('store.xml');
            
    // add new data to XML tree
            
    $advice=$xml->AddChild('advice');
            
    $advice->addChild('name',$xml_name);
            
    $advice->addChild('dep',$xml_dep);
            
    $advice->addChild('sub',$xml_sub);;
            
    $advice->addChild('cont',$xml_cont);
    foreach (
    $xml->advice->name as $name){
              echo 
    $name;
            }

    }
    //end of if 
    الكود السابق استدعينا ملف xml موجود بنفس مسار ملف PHP وقمنا باضافة محتويات جديدة nodes....
    شرح سريع: simple_load_file تستدعي ملف وتخزنه متغير xml, استخدم دالة التأكد من ملف أولا حتى لا يؤدي الى ظهور أخطاء..
    اضف النود node أينما تريد, من السطر السابق لاحظ أنني أضفت نود جديد تحت الرووت مباشرة...
    كود PHP:
    $advice=$xml->AddChild('advice'); 
    بعدها أضف الرووت الفرعي, وقيمته مباشرة...

    المتغيرات السابقة مقروءة من نموذج كالتالي:
    كود PHP:
    $xml_name $_POST['name']; 
    ==================

    لمن يرغبون في التعامل مع دوال dom و Simple في نفس السكريبت:
    هذه أوامر تحويل المتغير من والى:

    كود PHP:
    $sim_xml=simpleXML_import_dom($dom);
    if (!
    $sim_xml){
    echo 
    'Error transfering to SimpleXML';
    }

    $dom_xml=dom_import_simpleXML($sim_xml);
    if (!
    $dom_xml){
    echo 
    'Error transfering to DOM';


  11. #11
    عضو
    تاريخ التسجيل
    Dec 2005
    المشاركات
    687
    معدل تقييم المستوى
    13

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    دوال الوقت
    الوقت ضروري جدا في برمجة أي موقع، والأهم ان لغة php مليئة بدوال الوقت، قد يحتار الكثير من المبرمجين في تحديد عامل الوقت المناسب ،،
    القائمة التالية تحتوي على جميع المعلومات عن دوال الوقت

    الدالة الأساسية للوقت
    يكون الشكل الأساسي لدالة الوقت هو
    كود PHP:
     <?PHP       
            
    echo date ("D dS F, Y  g:i:s a")       
            
    ?>
    يتم طلب استدعاء للدالة Date حيث أن هذه الدالة هي المسؤولة عن تحديد الوقت، وكما تلاحظ وجود الكثير من الحروف والرموز والإشارة بين الأقواس.
    كل حرف من الحروف التالية يأتي بين الأقواس في دالة date يكون مسؤول عن وظيفة معينة
    الحروف الخاصة بالوقت
    الحرف التفسير
    A يعطي الوقت حسب 12 ساعة مثل PM أو AM
    a حرف a الصغير يأتي بنفس النتيجة السابقة ولكن الفرق هنا النتيجة بحرف صغير مثل am pm
    G الساعات خلال 24 ساعة مثل 17
    g الساعات خلال 12 ساعة مثل 4
    H الساعات خلال 24 ساعة لكن مع وجود أصفار مثل 14
    h الوقت خلال 12 ساعة مع وجود صفر مثل 08

    الحروف والرموز الخاصة بالتاريخ
    D اليوم مثل Fri
    d اليوم مثل 02
    F اسم الشهر كتابة حرفية كاملة مثل January
    M اسم الشهر بإختصار مثل Jan
    m الشهر بالأرقام مثل 01
    S التسميات التي تصف اليوم من الشهر مثل st, nd, rd, th
    t عدد أيام الشهر مثل 31
    W رقم الأسبوع بالنسبة للنسة مثل الاسبوع رقم 19
    Y السنة بشكل كامل مثل 2008
    y الحرف الصغير من الرمز السابق يعطي السنة بالأرقام لكن بشكل مختصر مثل 08
    z رقم اليوم من السنة مثل 203

    الحروف السابقة تعطي نفس النتائج المقابل لها في حال تم إدراجها في قوسيين دالة الوقت وتتم الكتابة داخل إشارة " " من القوسيين أما باقي الرمز غير هذه الرموز فتطبع على الشاشة كما هي مثلا لو تم وضع الرمز : بين الرموز فيظهر على الشاشة بنفس الشكل :

  12. #12
    عضو
    تاريخ التسجيل
    Dec 2005
    المشاركات
    687
    معدل تقييم المستوى
    13

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    درس هام

    ارسال للبريد
    عملة ارسال بريد إلكتروني سهلة جدا في لغة بي اتش بي ،،
    فهناك دوال جاهزة لهذه العملية ,,
    نبدأ الان العملية البسيطة بكود html خاص بتحديد جداول الإدخال

    كود:
    <form method="post" action="contact.php">
    العنوان:<br />
    <input type="text" name="subject" size="20"><br />
    بريد المستقبل:<br /><input type="text" name="email" size="20"><br />
    الرسالة:<br /><textarea cols="20" rows="5" name="comment"></textarea><br />
    <input type="submit" value=" Submit "> </form>
    ادرج الكود السابق في اي صفحة شئت وسميها بأي اسم ..

    الكود التالي هو الخاص بإرسال البريد ويجب وضعه في صفحة contact.php

    كود PHP:
    <?
    $subject 
    $_POST['subject'];
    $email $_POST['email'];
    $comments $_POST['comments'];
    $submit $_POST['submit'];

    if(
    $submit)
    {

    mail("name@arabsoftware.net""$subject""$email""$comments");

    }
    ?>
    الكود السابق يعمل على استقبال البيانات من جدوال المدخلات التي تم وضعها في كود html السابق ثم تقوم بالإرسال، الدالة المسؤولة عن الإرسال في بي اتش بي هي mail().

  13. #13
    مشرف عام
    تاريخ التسجيل
    Jan 2004
    المشاركات
    7,307
    الدولة: Egypt
    معدل تقييم المستوى
    52

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    كود PHP:
    $body="line 1 \n";
    $body.="line2 \n";
    $body.="line3 \n"
    استخدم هذه الطريقة لاضافة محتويات الى متغير حرفي, (.=).....
    ===============

    اضافات ممتازة جدا يا محمد...

  14. #14
    عضوية جديدة
    تاريخ التسجيل
    May 2008
    المشاركات
    1
    معدل تقييم المستوى
    0

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية

    الله يجزيك الخير ويزيدك من علمو

  15. #15
    عضو الصورة الرمزية BSTU.UOK
    تاريخ التسجيل
    Apr 2008
    المشاركات
    41
    معدل تقييم المستوى
    10

    رد: البرمجة بلغة PHP...دوال وأساليب وحيل برمجية



    الله يعطيك ألف عافيه عالمجهود المميز........

صفحة 1 من 3 1 2 3 الأخيرةالأخيرة

المواضيع المتشابهه

  1. الإعلان عن دورة البرمجة بلغة الأسمبلي
    بواسطة Mohamedotnet في المنتدى البرمجه والتصميمات الفنيه ( الجرافيكس )
    مشاركات: 4
    آخر مشاركة: 16-12-2012, 13:18
  2. تعلم البرمجة بلغة php في سبعة مراحل
    بواسطة mourad_1 في المنتدى البرمجه والتصميمات الفنيه ( الجرافيكس )
    مشاركات: 1
    آخر مشاركة: 21-10-2012, 14:51
  3. شرح كورس البرمجة بلغة السى (فيديو)
    بواسطة engineer2011 في المنتدى البرمجه والتصميمات الفنيه ( الجرافيكس )
    مشاركات: 11
    آخر مشاركة: 11-12-2011, 00:29
  4. مجموعة من أفضل كتب البرمجة بلغة C#
    بواسطة mahsam في المنتدى البرمجه والتصميمات الفنيه ( الجرافيكس )
    مشاركات: 1
    آخر مشاركة: 11-11-2009, 18:51
  5. مقدمة البرمجة بلغة C
    بواسطة CODER في المنتدى البرمجه والتصميمات الفنيه ( الجرافيكس )
    مشاركات: 3
    آخر مشاركة: 16-02-2009, 13:47

الكلمات الدلالية لهذا الموضوع

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •