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

الموضوع: سؤالين واحد في دالة include والثاني في الداخل .. نفس الاقي لهم حل

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    283

    Question سؤالين واحد في دالة include والثاني في الداخل .. نفس الاقي لهم حل



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

    أحبتي الكرام لدي إستفسار يارب أحد يفهمني إياهم

    الحين لو انا استخدم دالة التضمين include لتضمين صفحة واحدة في مكان ما

    في عدة صفحات.

    لكن المشكلة العويصة هي

    انه تحصل اخطاء في المسارات .. اذا تنقلت بين الصفحات ( عند التصفح )


    المشكلة هذه تحصل خاصة اذا عملت صفحة header واردت تضمينها في كل الصفحات

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

    بالمثال يتضح المقال.
    صفحة الهيدر:
    كود PHP:
    <?
    session_start
    ();
    include (
    "../config.php");
    $query mysql_query("SELECT * FROM table");
    $res mysql_fetch_array($query);
    ?>
    <html>
    <head><title> <? echo $res['title'];?></title></head>
    <body>
    التصميم
    إلى اخره
    </body>
    </html>
    مسار الصفحة في السكربت
    head/header.php


    واسدعيت بداخلها ملف الكونفيق الذي في الرئيسية.
    بهذا الشكل.
    كود PHP:
    include ("../config.php"); 
    ===
    طيب عندي صفحة في هذا المسار
    admincpanal/index.php

    إستدعيت فيها الهيدر بالشكل الصحيح

    لكن حصل خطأ بسبب
    include ("../config.php");

    الذي في الهيدر

    اظن المشكلة وضحت

    يعني هي عويصة واعتقد كل مبرمج سكربتات لا تخفى عليه هذه المشكلة واكيد لديكم حل بديل لهذه الطريقة

    اللخبطة هذه كيف تحلوها في سكربتاتكم ؟:nice:

    يعني المسار يكووون خاااطئ اذا دخلت صفحة اخرى



    حاس ما احد راح يفهمني ولا راح يجاوبني
    ==

    عموما السؤال الثاني
    كيف اخلي دالة $_FILES['name']['size']
    تعطيني الحجم بالميقا بايت !!!؟؟



    في انتظاركم يا مبدعين

    اللي مزاجه سليم راح يجاوبني







    التعديل الأخير تم بواسطة Al7aRbi ; 06-04-2009 الساعة 10:19 PM


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    لم أستوعب سؤالك الأول جيداً .

    بالنسبة للثاني:
    8 بت = 1 بايت
    1024 بايت = 1 كيلو بايت
    1024 كيلو بايت = 1 ميجا بايت
    1024 ميجا بايت = 1 جيجا

    يعني لما تعوز تحول من الكيلو بايت الى ميجا بايت بتقسم على 1024





    __________________
    اللهم وفقني لما تحبه وترضاه...

  3. #3


    الحل هو وضع المسار الكامل للصفحة
    وبدلاً من كتابته يمكنك إستخدام دالة تجيب المسار وتركنها لثابت بإستخدام DEFINE
    مثلا لو عندك ملف GLOBAL في المجلد INCLUDE ضع فيه التالي

    كود PHP:
    $sitepath =  realpath(dirname(__FILE__) . '/../');
    define ('HOME_PATH'$sitepath); 
    الأن في كل صفحة تريد إستدعاء أي ملف أستدعيه كالتالي

    كود PHP:
    include(HOME_PATH '/test.php'); 






    __________________
    السيف أصدق أنباء من الكتب

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    283


    Mostafa Maher


    جزاك الله خير .. لو في مثال يوضح كيف انفذ المهمة كان افضل

    بارك الله فيك

    المجروح
    جزاك الله خير وانت فهمتني زين.

    وإن شاء الله بأحاول افهم الكود وانفذه


    اذا في احد ثاني حاب يوضح اكثر يا ليت ما يبخل بمعلومته

    تحياتي






  5. #5
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    Mostafa Maher
    جزاك الله خير .. لو في مثال يوضح كيف انفذ المهمة كان افضل
    تفضل
    كود PHP:
    <?php
    $file_size 
    $_FILES['file']['size']; // The size in bytes
    $file_size $_FILES['file']['size'] / 1024// The size in KiloBytes (KB)
    $file_size $_FILES['file']['size'] / (1024 1024); // The size in MegaBytes (MB)
    $file_size $_FILES['file']['size'] / (1024 1024 1024); // The size in GigaBytes (GB)
    ?>






    __________________
    اللهم وفقني لما تحبه وترضاه...

  6. #6


    أخي Mostafa Maher
    ال 1 ميجا = 1000 كيلو
    و1 جيجا = 1000 ميجا

    فقط ال 1 كيلو = 1024 بت وذلك لكون الذاكرة تخزن فيها البيانات بنظام ثنائي ( 0 و 1 )
    والنظام الثنائي يعني رقمين فقط يعني مضاعفات الرقم 2

    2
    4
    8
    16
    32
    64
    128
    256
    512
    1024 << هل وصلت الفكرة ؟

    لكن بعد ذلك يصبح الأمر مثل قوانين الميجا والجيجا والتيرا والبيكو العادية في حياتك
    كل 1000 يكون مسمي أعلي





    __________________
    السيف أصدق أنباء من الكتب

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    283


    تفضل
    كود PHP:
    <?php
    $file_size 
    $_FILES['file']['size']; // The size in bytes
    $file_size $_FILES['file']['size'] / 1024// The size in KiloBytes (KB)
    $file_size $_FILES['file']['size'] / (1024 1024); // The size in MegaBytes (MB)
    $file_size $_FILES['file']['size'] / (1024 1024 1024); // The size in GigaBytes (GB)
    ?>
    بارك الله فيك وانا كنت نفذت العملية بنجاح بعد ما قرأت ردك السابق.

    تحياتي لك






  8. #8
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    283


    أخي Mostafa Maher
    ال 1 ميجا = 1000 كيلو
    و1 جيجا = 1000 ميجا

    فقط ال 1 كيلو = 1024 بت وذلك لكون الذاكرة تخزن فيها البيانات بنظام ثنائي ( 0 و 1 )
    والنظام الثنائي يعني رقمين فقط يعني مضاعفات الرقم 2

    2
    4
    8
    16
    32
    64
    128
    256
    512
    1024 << هل وصلت الفكرة ؟

    لكن بعد ذلك يصبح الأمر مثل قوانين الميجا والجيجا والتيرا والبيكو العادية في حياتك
    كل 1000 يكون مسمي أعلي
    أخي المجروح إسمحلي على المداخلة بارك الله فيك

    يبدو أن الأخ مصطفى محق تماماً.

    أنا جربت طريقته واعطتني نفس الحجم الموجود في جهازي لملف حجمه بالميقا.
    وملف اخر حجمه بالجيجا.

    على مقياس نظام الجهاز طلع صحيح الحجم الذي عرضته لي الphp

    وزيادة على ذلك وجدت هذا الموقع الذي يثبت ذلك .
    KB to MB Converter

    جرب اكتب في كل خانة هذا الرقم :
    1024
    سيحولها الى 1
    يعني كل شي صحيح

    وبارك الله فيك على اجتهادك معي






  9. #9


    يبدوا أني لخبطت
    بالفعل المعلومة صحيحة أخي
    وأيضا الهارديسك ال 1 تيرا = 1024 جيجا
    معذرة علي الخطأ ولكن التوضيح الخاص بالأرقام الثنائية صحيح وهو سبب هذا الإختلاف عن الحسبة العامة والتي نستخدمها دائما 1 كيلو = 1000 وهكذا





    __________________
    السيف أصدق أنباء من الكتب

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    283


    المجروح
    الله يعطيك العافية






  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


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

    لكن المتعارف عليه والمعمول به هو ال 1024





    __________________
    محمد حمود.

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    283


    mr_m

    يعطيك العافية على المعلومة وبارك الله فيك .










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

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

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