Ошибка скрипта при выводе папки и размера её

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Ошибка скрипта при выводе папки и размера её

Непрочитанное сообщение bobot » 2010-09-01 14:53:13

Задача у меня такая надо вывести размер папок и соответствующего юзера с Mysql

скрипт вывод размера папки работает (size.php)

Код: Выделить всё

<?php
$size = '';
size_of_dir_num('/mail/domain/bobot/Maildir');
function size_of_dir_num($path)
{

$dir = opendir($path);
global $size;
while($d = readdir($dir))
{
if ($d == '.' || $d == '..') continue;
if (is_file($path.'/'.$d))
{
$size = $size + filesize($path.'/'.$d);
}
else if (is_dir($path.'/'.$d)) size_of_dir_num($path.'/'.$d);
}

}
#echo $size;
$k = ($size / 1024 / 1024);
#echo ($size / 1024 / 1024);
echo $k;
echo(' mb');
?>
работает на ура!! А вот когда я соединяю два скрипта и маленькое изменение делаю:

Код: Выделить всё

$DBSERVER = yupi;
$DBUSER = yuitr;
$DBPASS = hjkk;
$DB = hyuui;
$link = mysql_connect("$DBSERVER", "$DBUSER", "$DBPASS")
or die("Could not connect: " . mysql_error());
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
$sql = mysql_query("select*from users" );

$row=mysql_fetch_array($sql);
while($row=mysql_fetch_array($sql)){    //вывод поля в mysql
$p=$row["username"]; разбиваем на массив 
include 'size.php';   ---------это скрипт я написал его выше , тут включил его выполнение
echo $p;    // вывод самого юзера
echo $k;    //Размер  папки юзера
}



А вот сама ошибка

Код: Выделить всё

 saa36.586560249329  ---вот правда показало юзера и размер , но одного, вроде как цикл не работает
Fatal error: Cannot redeclare size_of_dir_num() (previously declared in /usr/local/www/mail/dynamo/size.php:5) in /usr/local/www/mail/dynamo/size.php on line 20


оно матюгается на строчку

Код: Выделить всё

а вот тут ошибка в строчке где написано size_of_dir_num('/mail/domain/'.$p.'/Maildir');

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

masterito
рядовой
Сообщения: 42
Зарегистрирован: 2010-08-19 16:24:17
Откуда: Санкт-Петербург

Re: Ошибка скрипта при выводе папки и размера её

Непрочитанное сообщение masterito » 2010-09-01 15:02:33

Вы скрипт инклудите в цикле.

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: Ошибка скрипта при выводе папки и размера её

Непрочитанное сообщение bobot » 2010-09-01 15:16:19

masterito писал(а):Вы скрипт инклудите в цикле.
А как по другому пройти по всем юзерам таблице

masterito
рядовой
Сообщения: 42
Зарегистрирован: 2010-08-19 16:24:17
Откуда: Санкт-Петербург

Re: Ошибка скрипта при выводе папки и размера её

Непрочитанное сообщение masterito » 2010-09-01 15:23:20

Функция должна быть объявлена один раз в скрипте.
Как это реализовать - решайте уже сами.

Т.Михаил
проходил мимо

Re: Ошибка скрипта при выводе папки и размера её

Непрочитанное сообщение Т.Михаил » 2010-09-26 22:26:21

Дарю ))

Код: Выделить всё

function getDirSize($dir){
	$sum = 0;
	foreach(glob($dir."/*") as $val){ (is_file($val)) ? $sum += filesize($val) : $sum += getDirSize($val); };
	return $sum;
};