الويب العربي

الويب العربي (http://www.arabwebtalk.com/index.php)
-   تبادل خبرات البرمجة (http://www.arabwebtalk.com/forumdisplay.php?f=57)
-   -   كيف تعرف مساحه قاعده البيانات عبر الـ Php (http://www.arabwebtalk.com/showthread.php?t=29818)

أسامة الهادى 08-07-2006 01:39 PM

كيف تعرف مساحه قاعده البيانات عبر الـ Php
 
المرفقات 1
السلام عليكم ورحمة الله وبركاته

هذا درس بسيط جدا ليعرفك كيف تحسب الحجم الخاص ب قاعده البيانات MYSQL بإستخدام الـ PHP
فى القليل من الخطوات

الإسكربت يحتاج لتنفيذه التركيز

الخطوة الأولى :
الداله المسئوله عن الحساب
كود PHP:

<?php
function formatfilesize$data ) {
    
        
// bytes
        
if( $data 1024 ) {
        
            return 
$data " bytes";
        
        }
        
// kilobytes
        
else if( $data 1024000 ) {
        
            return 
round( ( $data 1024 ), ) . "k";
        
        }
        
// megabytes
        
else {
        
            return 
round( ( $data 1024000 ), ) . " MB";
        
        }
    
    }

وبها الثلاث ( Byets , KB , MB )

الخطوة الثانيه :
المتغيرات التى سنحتاجها للوصول والإتصال لقاعده البيانات المراد معرفه حجمها
كود PHP:

  $host="localhost";
  
$user="root";
  
$dbname ="name";
  
$dbpass =""

المتغير الأول وهو دائماً ما يكون localhost
المتغير الثانى هو إسم المستخدم الخاص بقاعده البينات
المتغير الثالث وهو الخاص بإسم قاعده البيانات المراد معرفه حجمها
المتغير الرابع وهو الكلمه السريه لإسم المستخدم الخاص بقاعده البيانات

الخطوة الثالثه :
الإتصال بقاعده البيانات وجلب الحجم عن طريق الداله الاولى
كود PHP:

mysql_connect($host,$user,$dbpass);
    
mysql_select_db$dbname );
    
$result mysql_query"SHOW TABLE STATUS" );
    
$dbsize 0;
    
    while( 
$row mysql_fetch_array$result ) ) {  
    
        
$dbsize += $row"Data_length" ] + $row"Index_length" ];
        
    } 

الخطوة الرابعه :
طباعه حجم قاعده البيانات وإغلاق وسم الـ PHP
كود PHP:

    echo "<p>حجم قاعده البيانات .$dbname. <br> " formatfilesize$dbsize ) . "</p>";

?> 

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

إذا واجهتكم اى مشاكل او تساؤلات فهى مقبوله ونتمنى ان نراها هنا حتى تعم الفائده على الجميع


ولكم وافر التحية والتقدير ,
أسامة الهادى

Illusion 08-07-2006 04:33 PM

درس اكثر من رائع يا اسامة ,,

مفيد جدا

وجارى التطبيق :d

ريونة 08-07-2006 04:57 PM

الله يعطيك العافيه اخوى الكريم
انا لاحظت ان مواضيعك مميزه

سؤال صغنونى :)

اين اضع هذه السكربت حتى اعرف حجم مساحة قاعدة البينات ؟

أسامة الهادى 09-07-2006 12:48 AM

السلام عليكم
فقط ضع الملف فى اى مجلد على السيرفر
مع تعديل المتغيرات الخاصه بقاعده البيانات الخاصه بك
وسيخرج لك الناتج بإذن الله

ريونة 09-07-2006 01:21 AM

تقصد فى الاف تى بى اخوى اسامه ؟

والمتغيرات فى لوحة التحكم ؟

أسامة الهادى 09-07-2006 01:48 AM

السلام عليكم
ريونه
إفتح الملف
عدل المتغيرات وهى :
كود PHP:

 $host="localhost"
  
$user="root"
  
$dbname ="name"
  
$dbpass =""

إلى الخاصه بك
ثم ارفع الملف عبر الـ FTP
فى مجلد public_html
ثم استدعيه عبر الرابط
http://domain.com/size.php
مع استبدال domain.com
بالنطاق الخاص بك

ريونة 09-07-2006 02:14 AM

يعنى افتح ملف نويت باد
واكتب هذا الكود داخله
$host="localhost";
$user="root";
$dbname ="name";
$dbpass ="";

وبعدين احفظ الملف باسم malf
وانقله الى الـ FTP
فى مجلد public_html


ثم اكتب رابطه http://domain.com/malf.php

<<<<< خرابيط :)

أسامة الهادى 09-07-2006 02:17 AM

السلام عليكم
فقط نزل الملف المرفق أعلاه
size.zip
فك ضغط الملف
وإفتح النوت باد
عدل الخيارات اللى قلتلك عليها
وإرفع الملف واستدعيه

ريونة 09-07-2006 02:20 AM

زين ..لا تعصب .. الحين اسويه واقول لك :(

ريونة 09-07-2006 02:27 AM

صارت معاى مشكوووووووووووووووووووووو ر
وناسه

حجم قاعده البيانات .localhost.
5.1 MB

AboAyoob 09-07-2006 02:53 AM

السلام عليكم ورحمة الله وبركاته
شكرا لك أخ أسامة على هذا المجهود
هنا سؤال - - - أو بالاحرى أود لو تطور هذا الملف أكثر بحيث !!!
؟ ؟ ؟
اذا كان على الموقع أكثر من قاعدة بيانات ؟ ؟ (وهذا غالباً ما يكون)

هل هناك طريقة لمعرفة جميع أحجام هذه القواعد - دون تغيير البيانات في كل مرة ؟ ؟ ؟

أسامة الهادى 09-07-2006 05:56 PM

روينه
======
ولا يهمك ما فى تعصب المهم انك عملتها صحيحه
=======

أبو أيوب
=======
من السهل طبعا عملها ولكنها ستحتاج تعديلات كثيرة
بإذن الله نفكر فيها سوياً
=====

Dooem 10-07-2006 12:39 AM

شكرا يامشرفنا العزيز أسامة درس رائع من مشرف ولا اروع

أسامة الهادى 10-07-2006 03:29 AM

saifss
ألف شكر لك وعلى ردك الجميل
والله يقدرنا ونقدم ليكم كل ماهو مفيد وجديد

Masry 15-07-2006 08:21 PM

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

Masry 15-07-2006 11:18 PM

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

اولاً اعتذر عن تدخلي في الموضوع وإجراء تعديل متواضع جداً على السكريبت :o

قمت بإضافة واجهة بسيطة html تقوم بكتابة بيانات قاعدة البيانات بها وبذلك يمكنك التحقق من حجم اكثر من قاعدة بيانات بدون التعديل على ملف الـ PHP

شرح ما قمت بفعله :
كود:

<html>
        <body>
                <form action='size.php' method='post' align=rtl>
                <p>Server : <input type="text" name="host" size="20"></p>
                <p>DataBase UserName : <input type="text" name="user" size="20"></p>
                <p>DataBase Name : <input type="text" name="dbname" size="20"></p>
                <p>Password : <input type="text" name="dbpass" size="20"></p>
                <p><input type="submit" value="Go !" name="go"></p>
                </form>
        </body>
</html>

قمت بإنشاء فورم وتحديد هدفه صفحة size.php أي انه يقوم بإرسال البيانات المكتوبة به إلى هذه الصفحة على هيئة متغيرات .

كود PHP:

//المتغيرات
  
$host="localhost";
  
$user="root";
  
$dbname ="name";
  
$dbpass =""

قمت بحذف هذا الجزء من ملف size.php لأنه لم يعد هناك حاجة له لأن هذه المتغيرات تأتي قيمها من ملف الـ html الذي قمنا بإنشاءه سلفاً


السكربت كاملاً مع الصفحة المضافة بالمرفقات كل ما عليك فعله هو فك الضغط ومن ثم رفع ملف size وفتحه بهذا الشكل
http://www.yourdomain.com/size
مع إستبدال yourdomain.com بعنوان موقعك


واذا كانت هناك أي أخطاء فاعذروني وانا متابع للموضوع بإذن الله .. :)

مصري,

أسامة الهادى 16-07-2006 05:24 PM

مميز كعادتك يا Masry
;)

سعودي4ويب 09-08-2006 06:04 AM

مشكوور على الشرح

طائر الليل الحزين 13-08-2006 07:55 PM

انا بدى اعرف انا كمان قاعدة البيانات حقى كم عددها ؟


جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 01:37 PM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012