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

الموضوع: كيف يمكن تحويل البايت إلى كيلو بايت عن طريق الدالة filesize

  1. #1

    كيف يمكن تحويل البايت إلى كيلو بايت عن طريق الدالة filesize



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

    عند استخراج حجم ملف بواسطة الدالة filesize .. فهي تحسب بالبايتات ..

    كيف يمكن جعلها بالـ كيلو بايت ؟

    علما أنّي توصلت إلى طريقة عن طريق القسمة على 1024 .. ولكنّ المعضلة عدد الأرقام بعد الفاصلة.. !

    مثال عملي..:

    لدي صورة حجمها 29992

    فعند تقسيمها على 1024 لنحصل على Kb .. يكون الناتج: 29.2890625

    :anger2: ما اريده رقم أو رقمين بعد الفاصلة.. كـ (29.28 ) ..
    سأحصل على 3 أرقام بعد الفاصلة عند القسمة على 1000 بدل 1024 ..

    أفيدونا بارككم الله ..





    __________________
    │║▌║█║▌║▌││║▌║█║▌│║▌║█
    w w w . m a r h o o n s . c o m




  2. سلام ...
    استعمل الدالة ()round

    الامثلة كما هي في المانوال
    كود PHP:
    <?php
    echo round(3.4);         // 3
    echo round(3.5);         // 4
    echo round(3.6);         // 4
    echo round(3.60);      // 4
    echo round(1.955832);  // 1.96
    echo round(1241757, -3); // 1242000
    echo round(5.0452);    // 5.05
    echo round(5.0552);    // 5.06
    ?>
    وبالنسبة لك استعمل

    كود PHP:
    echo round($number,2).'KB'






    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  3. #3


    بصراحة اخوي ناسي الطريقة بالضبط

    بس عشان ما تزعل بعمل لك فنكشن الآن إن شاء الله

    كود PHP:
    function shortennum($num) {
          if (
    stristr($num,",")) {
               
    $sep ",";
               
    $num2 explode(",",$num);
          } else {
               
    $sep ".";
               
    $num2 explode(".",$num);
          }
          
    $num2[1] = substr($num2[1],0,2);
          
    $num $num2[0] . $sep $num2[1];
          return 
    $num;

    ولما تطلبه كذا:
    كود PHP:
    shortennum("1.222"); 
    غير الرقم للرقم اللي انت عاوزه

    اسف ، اكيد في دالة مختصرة تفيد لنفس العمل
    لكن نسيتها
    شو أعمل
    الحاجة أم الاختراع !!!!
    تحياتي

    ملاحظة هامة: كتبت الدالة هنا لذا مش اكيد تشتغل
    لكن جربها وان شاء الله تشتغل لاني انا ما جربتها





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074

  4. #4


    اخوي hilaby اسف لاني رديت بعدك لكني كنت بعمل الفنكشن فتأخرت
    بالنسبة لـround انا كنت رح اكتبها لكن هي بتقرب العدد كمان
    اما الدالة بتاعتي بتترك العدد مثل ما هو
    اخوي انصحك بـround فعلاً
    وشكراً لك اخوي hilaby





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074

  5. #5


    اخوي جربت الدالة اللي انا كتبتلك اياها فوق ولله الحمد نجحت
    بإمكانك استخدامها
    لكن استخدام round أعتقد أفضل بما أنها دالة ثابتة للبي إتش بي
    تحياتي





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074



  6. السلام ... sBForum
    ما عندك مشكلة ... ردك كان 5 دقائق بعد ردي ...هذا شيء عادي .. مرة صارت معاي قبل كذا في سوالف بس كانت لاجابة عن سؤال معقد شوي .. وكان ردي مثل رد الشخص الاخر تماماً ولكن القرق دقيقة واحدة فقط!

    المهم خلينا من ذاك الموضوع ...
    الكود الي وضعتة جيد و لكن سيكون بطيء بالنسبة ل()round .. طبعاً فقط ابطء بي 0.000001 ثانية .. هاهاها

    لكن يجب ان لا تنسى ان في احتمال ان الناتج من القسمة لن يكون دائما رقم و كسور .. قد يكون رقم صحيح .. وانت تعرف ان الPHP عندما يرى الرقم "5.0" مثلاً قد يتعامل معه كالرقم العادي الصحيح ..

    فاذا كانت الناتج من القسمة رقم صحيح يضهر رلك التنبيه
    Notice: Undefined offset: 1 in C:\Apache Group\Apache2\htdocs\xxxx.php on line xx

    اي ان ال[1]num2 $ سيكون غير معرف ... يعني بس باقيلك تشيك علية فقط لاغير





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

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


    ولا يهمك ياحلو


    هذي الدالة تحسب لك

    بايت
    كيلوبايت
    ميقا بايت
    قيقا بايت
    تيرا بايت


    كود PHP:
    <html dir="rtl">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
    <title>New Page 1</title>
    <style>
    <!--
    body         { font-family: tahoma; font-size: 8.5pt }
    -->
    </style>
    </head>
    <body>
    <?

    function file_size($file){
    global 
    $size_out;
    $prelim_size=filesize($file);
    $b=$prelim_size;
    $kb=round($b/1024,4);
    $mb=round($kb/1024,4);
    $gb=round($mb/1024,4);
    $tb=round($gb/1024,4);
    $size_out="إسم الملف :: $file
     <br>
     <br>
    <font color=red>
    $b</font> الحجم بالبايت
    <br>
    <font color=red>
    $kb</font> الحجم بالكيلوبايت
     <br>
    <font color=red>
    $mb</font> الحجم بالميقابايت
     <br>
    <font color=red>
    $gb</font> الحجم بالقيقابايت
     <br>
    <font color=red>
    $tb</font> الحجم بالتيرا بايت";
    return 
    $size_out;
    }
    $myfile =file_size("email.zip");
    echo 
    $myfile;
    ?>







  8. #8


    وعليكم السلام اخوي hilaby
    عادي عادي بتصير بأحسن العائلات .....!!
    بصراحة انا دوّرت عندي في الـManual تبع البي إتش بي لقيت round() وفي كام دالة تانية ،،،، بس بصراحة round() يمكن أحسن شيء بالنسبة لطلب الأخ مرهون .....

    أمثلة round للفائدة كانت تقريباً نفس الأمثلة تبعتك (شكلك انت كمان جايبها من المانيول )
    كود PHP:
    $foo round(3.4);  // $foo == 3.0
    $foo round(3.5);  // $foo == 4.0
    $foo round(3.6);  // $foo == 4.0
    $foo round(3.60);  // equivalent with above
    $foo round(1.955832);  // $foo == 1.96
    $foo round(1241757, -3);  // $foo == 1242000 
    وهذي الدالة موجودة في PHP3 و PHP4 من PHP4.0.0 فما فوق

    هناك دوال أخرى ممكن تفيد في نفس المجال مثل ceil()

    وظيفة هذه الدالة تقريب الكسر إلى القيمة الأعلى يعني إذا كان فيها كسر عشري يصر الرقم أكبر بدون كسور
    يعني مثال ، إذا كان عندنا رقم 2.110 بصير بعد التطبيق 3
    اذا كان عندنا 2.0 ببقى 2
    يعني المهم ما يبقى عندنا كسور ويصير الرقم أكبر اذا كان في كسووووووور
    بالمانول مافي أمثلة رح أحط أمثلة من عندي

    كود PHP:
    $foo ceil(2.0); // $foo == 2
    $foo ceil(5.120); // $foo == 6
    $foo ceil(1.52); // $foo == 2
    $foo ceil(9.5); // $foo == 10 
    اوكي ، ناخد دالة floor() هذي عكس ceil() تقرب الكسر العشري إلى القيمة الأاصغر ..!!
    كود PHP:
    $foo floor(2.0); // $foo == 2
    $foo floor(5.120); // $foo == 5
    $foo floor(1.52); // $foo == 1
    $foo floor(9.5); // $foo == 9 
    يعني أحياناً في نظام الويندوز نلاقي الملفات أحجامها مقربة ، يعني نلاقي حجم الملف يكون فقط ما قبل الفاصلة مع تقريب للقيمة العلوية للرقم ..

    بالنسبة لدالتي ممكن تنساها أخوي hilaby وأعتذر لك أشد الاعتذار لذلك الخطأ ... بصراحة لقيت عدد الردود 0 والأخ منتظر قلت حرام والله لازم ارد ....

    بصراحة جربت أحط عدد صحيح والنتيجة كانت عادية وناجحة .. يعني جربت أحط 2 طلع لي 2. يعني في فاصلة بعد ال2 وهذي مش مشكلة

    لما قرأت ردك مرة ثانية لاحظت انه نوع الخطأ notice يعني مجرد ملاحظة قلت أكيد عندي مش مشغل هذا النوع من الملاحظات ورحت على ملف php.ini في مجلد windows في درايف C وفعلاً بحثت عن errors

    لقيت تحت
    كود:
     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Error handling and logging ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    تحتها موجود:
    كود:
    error_reporting = E_ALL & ~E_NOTICE
    طلعت فوق شوي لقيت معناها (لعدم خبرتي في إعدادات السيرفر كثيراً):
    كود:
    ;   - Show all errors, except for notices
    ;
    ;error_reporting = E_ALL & ~E_NOTICE
    يعني إظهار الأخطاء كلها ما عدا الملاحظات notices .. غيرت قيمة error_reporting إلى E_ALL فقط يعني صارت كذا:
    كود:
    error_reporting  =  E_ALL
    هذي المعلومة للفائدة فقط للي ما يعرف

    بصراحة أعجبتني الفكرة لانه الواحد لازم يكون مشغلها في كل سكربتاته عشان اي ملاحظة صغيرة ينتبه لها وشكراً لك أخوي hilaby ...!
    ولي عودة
    تحياتي





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074

  9. #9
    عضو جديد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    21


    هذاي طريقة يمكن تكون أسهل من غيرها ....

    كود:
    $show_tot = filesize ("وصلة الملف");
    $show_tot = $show_tot /1024;
    $show_tot =round($show_tot,3);











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

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

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