Strict Standards: Resource ID#32 used as offset, casting to integer (32) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Подсчет оставшегося свободного места на сервере...
ТвойWeb » WebMaster класс » PHP/Perl » Подсчет оставшегося свободного места на сервере...

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

1. UFO - 18 Декабря, 2005 - 06:42:02 - перейти к сообщению
Подсчет оставшегося свободного места на сервере путем скрипта PHP. Есть такой скрипт? Подскажите, плиз. Скрипт определения занятого места у меня уже есть. Определяет в байтах (можно подправить на мегобайты - не суть важно). Вот он (если кому нужен):
CODE:
<?
$dir = (".");
$f_size = 0;
size ($dir);
echo $f_size;
//---------------------------------------
function size ($dir)
{
global $f_size;
$dh = opendir ($dir);
while ($file = readdir($dh))
{
if($file!="." && $file!="..")
{
$fullpath = $dir."/".$file;
if(!is_dir ($fullpath))
{
$f_size = $f_size + filesize ($fullpath);
}
else
{
size ($fullpath);
}
}
}
closedir ($dh);
return ($f_size);
}
?>


Меня же интересует скрипт определения свободного места на сервере.
2. SviMik - 18 Декабря, 2005 - 07:16:34 - перейти к сообщению
3. SviMik - 18 Декабря, 2005 - 07:18:27 - перейти к сообщению
И заодно можно узнать полный обьём диска:
http://ee.php.net/manual/en/func...-total-space.php
4. UFO - 19 Декабря, 2005 - 07:33:14 - перейти к сообщению
Отлично, спасибо. Помогло. Работает иправно.
На основе данных скриптов сделал скрипт:
CODE:
<?
echo "<center><hr><font face=verdana color=red size=5><b>Server space</b></font><hr></center>";
echo "<center><hr><font face=arial color=blue size=2><b>Подсчет свободного и занятого места на физическом диске или каталоге сервера, где расположен этот скрипт.</b></font><hr></center>";
$dir = (".");
$f_size = 0;
size ($dir);
echo "<BR><BR><BR><center><font face=tahoma color=red size=1>В байтах (in bytes):<BR><BR><font face=tahoma color=green size=3>Использованное место в данной директории сервера (used space): $f_size байт</font><center>";
function size ($dir)
{
global $f_size;
$dh = opendir ($dir);
while ($file = readdir($dh))
{
if($file!="." && $file!="..")
{
$fullpath = $dir."/".$file;
if(!is_dir ($fullpath))
{
$f_size = $f_size + filesize ($fullpath);
}
else
{
size ($fullpath);
}
}
}
closedir ($dh);
return ($f_size);
}
?>
<BR>
<?
$hdGnu = disk_free_space("/");
echo "<center><font face=tahoma color=green size=3>Свободное место на диске сервера (free space): $hdGnu байт</font></center>";
echo "<BR><BR><BR><font face=tahoma color=black size=2>Оптиматизировано под операционные системы Linux, FreeBSD и MS Windows. В других ОС работа скрипта не проверялась и не гарантируется. Скрипт проверялся в браузерах Internet Explorer и Mozilla. <BR> © 2005 Voln.Net";
?>

Он работает, но мне кажется, что как-то он немного неправильно написан (мною). Я новичок в PHP, исправьте, плз, скрипт, если он не правилен, хотя бы таким образом изучу PHP.
5. SviMik - 19 Декабря, 2005 - 13:12:41 - перейти к сообщению
UFO пишет:
$hdGnu = disk_free_space("/"Подмигивание;

Это для линукса. Для винды
Цитата:
disk_free_space("C:"Подмигивание;

И вообще,почитай мануал, там готовые скрипты и куски кода есть
Вот тут кстати оч полезная функция для выдачи размера в "человеческом" виде (писать к примеру размер 100ГБ в байтах полное издевательство, имхо.).
http://ee.php.net/manual/en/func...k-free-space.php
6. UFO - 19 Декабря, 2005 - 13:55:36 - перейти к сообщению
Цитата:
CODE:
$hdGnu = disk_free_space("/");

Это для линукса. Для винды
CODE:
disk_free_space("C:");


Работает и там и там:
CODE:
$hdGnu = disk_free_space("/");

У меня вообще FreeBSD, там тоже работает. Код выше.

Цитата:
И вообще,почитай мануал, там готовые скрипты и куски кода есть
Вот тут кстати оч полезная функция для выдачи размера в "человеческом" виде (писать к примеру размер 100ГБ в байтах полное издевательство, имхо.).
http://ee.php.net/manual/en/function.disk-free-space.php


Почитаю. Но мой скрипт то верный? Ошибки в нем есть?
Тем более в байтах меня устраивает, т.к. в каталоге места много не бывает. Все же не файловый сервер, а web-хост.
7. SviMik - 19 Декабря, 2005 - 14:01:41 - перейти к сообщению
CODE:
$hdGnu = disk_free_space("/");
echo "<center><font face=tahoma color=green size=3>Свободное место на диске сервера (free space): $hdGnu байт</font></center>";

Можно писать проще.
CODE:
echo("<center><font face=tahoma color=green size=3>Свободное место на диске сервера (free space): ".disk_free_space("/")." байт</font></center>");
8. Alligator - 26 Мая, 2011 - 15:50:31 - перейти к сообщению
CODE:
<?
echo "<center><hr><font face=verdana color=red size=5><b>Server space</b></font><hr></center>";
echo "<center><hr><font face=arial color=blue size=2><b>Подсчет свободного и занятого места на физическом диске или каталоге сервера, где расположен этот скрипт.</b></font><hr></center>";
$dir = (".");
$f_size = 0;
size ($dir);
echo "<BR><BR><BR><center><font face=tahoma color=red size=1>В байтах (in bytes):<BR><BR><font face=tahoma color=green size=3>Использованное место в данной директории сервера (used space): $f_size байт</font><center>";
function size ($dir)
{
global $f_size;
$dh = opendir ($dir);
while ($file = readdir($dh))
{
if($file!="." && $file!="..")
{
$fullpath = $dir."/".$file;
if(!is_dir ($fullpath))
{
$f_size = $f_size + filesize ($fullpath);
}
else
{
size ($fullpath);
}
}
}
closedir ($dh);
return ($f_size);
}


// Добавим матиматические операции
$hdGnu = disk_free_space("/");
$hdGnu = disk_free_space("/"); // Размер в байтах
$mb = pow(1024,2); // Вычисляем мегабайты (1024 в квадрате)
// $mb = 1024*1024; // Или так - результат тот же
$gb = $mb*1024; // Мегабайты умножаем на 1024 (вычисляем гигабайты)
$hdGnugb = $hdGnu/$gb; // Размер в GB
// Обрезаем ненужные символы (после запятой будет 2 символа)
$hdd_size = round($hdGnugb,2);


echo "<br><center><font face=tahoma color=green size=3>Свободное место на диске сервера (free space): $hdd_size GB</font></center>";
echo "<BR><BR><BR><font face=tahoma color=black size=2>Оптиматизировано под операционные системы Linux, FreeBSD и MS Windows. В других ОС работа скрипта не проверялась и не гарантируется. Скрипт проверялся в браузерах Internet Explorer и Mozilla. <BR> © 2005 Voln.Net";
?>

(Добавление)
Не понятно кстати:
Цитата:
Скрипт проверялся в браузерах Internet Explorer и Mozilla

Как это скрипт проверялся в браузере, если php серверный язык? Улыбка
PS: Прошу прощения за некрофилизм.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0436]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33