النتائج 1 إلى 5 من 5

الموضوع: [درس] طريقة انشاء ملفات XML عن طريق PHP

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046

    [درس] طريقة انشاء ملفات XML عن طريق PHP



    السلام عليكم ورحمة الله وبركاته

    أحياناً نحتاج الى كتابة كود أو سكريبت يقوم بحفظ البيانات من قاعدة البيانات database الى ملف XML
    والموضوع قد يبدو معقداً او مجهولا للوهلة الأولى لكنه سهل جداً كسهولة الكتابة الى المتصفح

    في هذا الدرس سنفترض أننا نريد حفظ بيانات بعض الأشخاص من جدول users في ملف XML لاستخدامه لاحقا في غرض آخر
    البيانات المطلوب حفظها هي عبارة عن: الاسم، النوع، السن والعنوان
    الكود التالي يقوم بالمطلوب بالضبط:

    كود PHP:
    <?
    header
    ("Expires: Mon, 1 Jan 1996 01:00:00 GMT");
    header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0"false);
    header("Pragma: no-cache");
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=\"users.xml\"");

    echo 
    "<?xml version=\"1.0\" encoding=\"windows-1256\"?>\n";

    $users = @mysql_query("SELECT * FROM users");
    echo 
    "<users>\n";
    while(
    $user = @mysql_fetch_array($users))
    {
        echo 
    "\t<user>\n";
        echo 
    "\t\t<name>";
        echo 
    $user['name'];
        echo 
    "</name>\n";
        echo 
    "\t\t<gender>";
        echo 
    $user['gender'];
        echo 
    "</gender>\n";
        echo 
    "\t\t<age>";
        echo 
    $user['age'];
        echo 
    "</age>\n";
        echo 
    "\t\t<address><![CDATA[";
        echo 
    $user['address'];
        echo 
    "]]></address>\n";
        echo 
    "\t</user>\n";
    }
    echo 
    "</users>\n";
    ?>
    واليكم شرح الكود:
    في السطر الأول:
    كود PHP:
    header("Expires: Mon, 1 Jan 1996 01:00:00 GMT"); 
    قمنا بتحديد تاريخ انتهاء صلاحية للملف باي تاريخ في الماضي، حتى يعتبره المتصفح دائما منتهي الصلاحية ولا يقوم بجلبه من الكاش


    في السطر الثاني:
    كود PHP:
    header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); 
    قمنا بتحديد تاريخ الملف نفسه بتاريخ اليوم، وتاريخ الملف هو التاريخ الذي يظهر عند عرض بيانات الملف في ويندوز

    في السطر الثالث والرابع والخامس:
    كود PHP:
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0"false);
    header("Pragma: no-cache"); 
    قمنا باضافة بعض الاكواد الاضافية والتي من وظيفتها منع جلب الملف من الكاش أيضاً

    في السطر السادس:
    كود PHP:
    header("Content-Type: application/force-download"); 
    قمنا باخبار المتصفح بضرورة تحميل الملف save والا يتم عرضه open

    في السطر السابع:
    كود PHP:
    header("Content-Disposition: attachment; filename=\"users.xml\""); 
    حددنا اسم الملف "users.xml"

    في السطر الثامن:
    كود PHP:
    echo "<?xml version=\"1.0\" encoding=\"windows-1256\"?>\n";
    قمنا بطباعة هيدر header ملف xml وحددنا الترميز بـ windows-1256، طبعا يمكنك اختيار الترميز الذي يناسبك غير هذا الترميز، يعني مثلا لو البيانات التي تقوم بجلبها ترميزها utf8 فينبغي عليك تحديد نفس الترميز لملف xml

    في السطور التالية الاستعلام وطباعة البيانات
    وكما تلاحظ فالبيانات قد بدأت بالوسم [l]<users>[/l] والذي سيحتوي على كل المستخدمين
    وانتهت بالوسم [l]</users>[/l] والذي يفيد انتهاء عرض بيانات جميع المستخدمين

    أيضاً يتم عرض كل مستخدم بالطريقة التالية:
    كود:
    <user>
    بيانات المستخدم
    </user>
    وهكذا حتى انتهاء جميع المستخدمين


    كانت هذه بداية بسيطة لكيفية التعامل مع ملفات XML من خلال PHP
    واي تعليقات او استفسارات
    يا هلا :smailes3:

    منقول http://www.montadaphp.net/showthread.php?t=599





    __________________
    مدونتي


  2. #2
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    اقتباس المشاركة الأصلية كتبت بواسطة mahmoud009
    في السطر الثاني:
    كود PHP:
    header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); 
    قمنا بتحديد تاريخ الملف نفسه بتاريخ اليوم، وتاريخ الملف هو التاريخ الذي يظهر عند عرض بيانات الملف في ويندوز
    تعقيب بسيط , تاريخ الملف هو تاريخ اخر تعديل تم عليه , لذلك في المره القادمة عندما يقوم المتصفح بطل بالصفحه السابقة سوف يرسل في الراس عباره تسأل الخادم عن هذه الملف بما معناه انه اذا تغير تاريخ اخر تعدل ارسل الملف او ارسل انه لم يتغير .... هنا كود بسيط يوضع في الملف في بدايه الملف , تذكر انه لا بد من استخدام last-modified
    كود PHP:
    <?
    if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
    {
        if (
    $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $gmt_mtime)
        {
            
    header('HTTP/1.1 304 Not Modified');
            exit();
        }
    }
    ?>






    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    اقتباس المشاركة الأصلية كتبت بواسطة daif
    تعقيب بسيط , تاريخ الملف هو تاريخ اخر تعديل تم عليه , لذلك في المره القادمة عندما يقوم المتصفح بطل بالصفحه السابقة سوف يرسل في الراس عباره تسأل الخادم عن هذه الملف بما معناه انه اذا تغير تاريخ اخر تعدل ارسل الملف او ارسل انه لم يتغير .... هنا كود بسيط يوضع في الملف في بدايه الملف , تذكر انه لا بد من استخدام last-modified
    كود PHP:
    <?
    if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
    {
        if (
    $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $gmt_mtime)
        {
            
    header('HTTP/1.1 304 Not Modified');
            exit();
        }
    }
    ?>
    شكرا لك أخي daif على الاضافة القيمة

    تحياتي





    __________________
    مدونتي

  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    30


    اشكرك اخي

    ودرس رائع ومهم لي شخصيا ^^

    يعطيك العافيه






  5. #5
    مُجَاهِد سابقاً
    تاريخ التسجيل
    Apr 2004
    المشاركات
    12,000


    رائع ..
    شكراً لكم ..





    __________________
    استخدم خاصية تنبيه المشرفين للضرورة وعند ملاحظة موضوع يخالف قوانين منتديات سوالف وسيتم مراجعة الموضوع او المشاركة المبلغ عنها على الفور





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

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض