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

الموضوع: عدة دوال لفتح و قراءة الملفات .. ما الفرق ؟

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779

    عدة دوال لفتح و قراءة الملفات .. ما الفرق ؟



    السلام عليكم

    اخواني الكرام

    هناك عدة دوال لفتح و قراءة الملفات
    و اريد ان اعرف خصائصها و فوائدها و وجه الاختلاف بينها

    الدوال هي مثل
    fopen
    file
    include
    recuier
    و هناك غير هذه الدوال لفتح الملفات فما الفرق ؟؟ :con2:





    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    240


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

    هنالك فرق في عمل كل دالة عن الأخرى... أولاً سنأخذ include و require كمجموعه، و fopen و file كمجموعه ثانيه...

    دوال المجموعه الأولى تستخدم لتضمين الملف بداخل السكربت، أي تطبيق جميع الأوامر (أوامر php) الموجودة في الملف الخارجي بداخل الملف الذي استخدمت فيه هذا الأمر... على سبيل المثال لديك config.php والذي يحتوي معلومات قاعدة البيانات (اسم المستخدم/ كلمة السر/اسم القاعده)، و لديك الملف connect.php والذي يحتاج للمعلومات الموجوده في ملف config.php لكي يتمكن من الاتصال بالقاعدة من خلال الأمر mysql_connect. هنا يجب عليك (تضمين) الملف config.php بداخل الملف connect.php لتتمكن من استخدام المتغيرات التي فيه، و تطبيق جميع الأوامر الموجودة فيه.
    يختلف الأمر inlcude عن require في شئ واحد فقط... وهو الخطأ الذي سيصدر في حالة عدم وجود الملف المطلوب. عند استخدام require وعدم وجود الملف، سيتوقف السكربت عن العمل ويصدر خطأ Fatal Error! أما عند استخدام include وعدم وجود الملف سيواصل السكربت العمل ويصدر تحذير فقط warning.

    نأتي الآن للمجموعة الثانيه، file و fopen,,,
    هذه الدوال تستخدم لقراءة محتويات الملف وليس للتضمين. فلو فرضنا مثلاً أنك تريد عرض هذا الموضوع الذي نحن فيه في موقعك، ستقوم بقراءة محتويات هذه الصفحه (http://www.swalif.net/softs/showthread.php?t=144460) ثم عرضها لديك في موقعك. لاحظ هنا انك لن تصل الى أوامر البي اتش بي في هذا الملف (showthread)، فقط ستقرأ الناتج من الصفحه ثم عرضه لديك.
    والفرق بين file و fopen,, أن الأول (file) مختصه فقط في قراءة محتويات الملف، ووضع المحتويات في مصفوفه تحتوي على كل سطر، جرب التالي:
    كود PHP:
    $file "http://www.swalif.net/softs/showthread.php?t=144460";

    $output file($file);

    foreach( 
    $output as $line )
    {
        echo 
    $line;

    اما بالنسبة للداله fopen، فهي تقوم بفتح الملف فعلياً (إذا كان هنالك صلاحية لفتح الملف)، ومن ثم قراءة محتوياته، أو يمكنك حتى الكتابة فيه! تستخدم هذه الدالة على سبيل المثال في تتبع الأخطاء في الموقع. البعض لا يفضل استخدام قاعدة بيانات وتصميم جدول فقط لحفظ الأخطاء التي تحصل في الموقع (الصفحه غير موجوده مثلا).. لذلك يستخدمون هذه الداله لفتح ملف (ليكن اسمه log.txt مثلا) ثم تسجيل الخطأ الذي حصل فيه.
    يمكننا أن نقول أن الداله file هي نسخه مصغره من الداله fopen، حيث الأخيره توفر خيارات أكبر...

    هذا والله تعالى أعلم.. وإن كنت قد أخطات أتمنى أن أجد من يوضح لي خطأي..


    بوجــــــبر





    __________________
    بوجبر

    http://www.ba7reny.com
    بحريني دوت كوم (موقع صديق)

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    240


    123





    التعديل الأخير تم بواسطة M-Plus ; 11-01-2006 الساعة 06:45 PM سبب آخر: مكرر
    __________________
    بوجبر

    http://www.ba7reny.com
    بحريني دوت كوم (موقع صديق)

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779


    شكرا لك اخي الكريم على هذه المعلومات الوافيه

    لكن كنت اريد اسئلك هل هناك اي فرق في سرعة التضمين او القراءه بينها
    و ايهم انت تفضله لادخال ملف html الى ملف php ??





    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    240


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

    لا أعتقد بوجود فرق، وان كان هنالك فرق في السرعه فان شئ بسيط لا يكاد يذكر... الفرق الحقيقي هة بين ادراج الملف من داخل السرفر أو من سرفر آخر (موقع آخر)، حيث الأخير يحتاج الى وقت أكبر بكثير...

    بالنسبة لإدخال ملف html بداخل ملف php فإن كان الإدراج من داخل السرفر نفسه (اي انني اريد ان ادرج صفحه هتمل موجودة في موقعي بداخل احد صفحات php) فسوف استخدم الادراج include ولن أستخدم require، حيث أن الأخيرة ستوقف عمل السكربت وتعطي رساله خطأ في حال لم يوجد ملف الهتمل... أما اذا كنت اريد قراءة مصدر الهتمل فقط واقوم ببعض التغييرات عليه قبل عرضه فسوف استخدم الداله file (كما في المثال في ردي السابق)... هذا إن لم أحتاج الى تعديل الملف نفسه، إذا احتجت الى تعديل الملف وحفظه بعد التعديل فلا بد أن استخدم fopen...

    في النهاية أخي الكريم، يعتمد استخدامك للداله المناسبة على ماتريد ان تعمله:

    1- include مجرد تضمين خالي بدون توقف في حال لم يوجد الملف
    2- require تضمين مع التأكيد على وجود الملف، و التوقف في حال عدم وجوده
    3- file لقراءة المصدر source وعرضه في الصفحه (ربما مع بعض التعديلات فبل العرض)
    4- fopen لفتح الملف فعليا و التعديل فيه، وربما قراءة محتوياته...

    وكما ذكرت بالأعلى، هذا يعتمد على ماتريد عمله...


    أخوك / بوجــــــــــبر





    __________________
    بوجبر

    http://www.ba7reny.com
    بحريني دوت كوم (موقع صديق)

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779


    شكرا لك اخي الكريم بوجــــــــــبر





    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة





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

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

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