Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как подсчитать сколько весит сайт?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: скрипт подсчета общего размера файлов и размера базы данных
grefon
Отправлено: 24 Февраля, 2011 - 22:54:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




У меня имеются клиенты которым чуждо изучать биллинг панель и лазить смотреть сколько место на хостинге они уже использовали, а сколько осталось. В связи с этим я накидал по-быстренькому скриптик, который считает размер всех файлов сайта и размер базы данных. Может кому-то еще будет полезен:
PHP:
скопировать код в буфер обмена
  1. function size_file($dir) {
  2.     global $f_size;
  3.     $dh = opendir ($dir);
  4.     while ($file = readdir($dh)) {
  5.         if($file!="." && $file!="..") {
  6.             $fullpath = $dir."/".$file;
  7.             if(!is_dir ($fullpath))
  8.             {
  9.                 $f_size = $f_size + filesize ($fullpath);
  10.             } else {
  11.                 size_file($fullpath);
  12.             }
  13.         }
  14.     }
  15.     closedir ($dh);
  16.     return ($f_size);
  17. }
  18.  
  19. function size_mysql($bd_host, $bd_login, $bd_parol, $bd_name) {
  20.         $connect = @mysql_connect($bd_host, $bd_login, $bd_parol);
  21.         if ($connect) {    
  22.                 if (@mysql_select_db ( $bd_name, $connect ) ) {
  23.                         mysql_select_db( $dbname );
  24.                         $result = mysql_query( "SHOW TABLE STATUS" );
  25.                         while( $row = mysql_fetch_array( $result ) ) {         
  26.                                 $dbsize += $row[ "Data_length" ] + $row[ "Index_length" ];
  27.                         }
  28.                         return $dbsize;
  29.                 } else { die("База данных недоступна."); }
  30.         } else { die("Немогу подключиться."); }
  31. }
  32.  
  33. function formatfilesize($data) {
  34.         if($data) {
  35.                 if( $data < 1024 ) {
  36.                         return $data . " байт";
  37.                 } else if( $data < 1048576 ) {
  38.                         return round( ( $data / 1024 ), 2 ) . " килобайт";
  39.                 } else if( $data < 1073741824 ) {            
  40.                         return round( ( $data / 1048576 ), 2 ) . " мегабайт";
  41.                 } else {    
  42.                         return round( ( $data / 1073741824 ), 2 ) . " гигабайт";
  43.                 }
  44.         }
  45. }
  46.  
  47. $files = size_file("."); // Указываем, из какой директории нужно начать подсчет размера файлов.
  48. $mysql = size_mysql("localhost","root","","base_name"); // Указываем настройки подключения и имя базы данных.
  49. $all = $files+$mysql; // Считаем общий вес сайта.
  50.  
  51. echo "Файлы весят: " . formatfilesize($files);
  52. echo "<br />База данных весит: " . formatfilesize($mysql);
  53. echo "<br />Общий вес сайта: " . formatfilesize($all);


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Наработки по собственным проектам »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB