<?php
include ("../../blocks/db.php");
$result = mysql_query ("SELECT buhsel FROM obprof_buh WHERE page = 'obprof'");
$myrow = mysql_fetch_array ($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title><?php echo $myrow ['buhsel']?></title>
</head>
<body>
<?php
$result = mysql_query("SELECT id,
namebooks,
autorbooks,
typebooks,
splacebooks,
changebooks,
NewFilePatch,
date_format(datetime_today, '%d.%m.%Y в %H:%i') as datetime_today,
sizebooks
FROM addbooks_buh",$db);
$myrow = mysql_fetch_array ($result);
do {
printf ("<table width='1200' border='1' align='center' class='tablebuh'>
<tr>
<td><a href='../%s?id=%s'>%s</a></td>
</tr>
<tr>
<td>%s</td>
</tr>
<tr>
<td>%s</td>
</tr>
<tr>
<td>%s</td>
</tr>
<tr>
<td>%s</td>
</tr>
<tr>
<td>Изменено: %s</td>
</tr>
<tr>
<td>Размер: %s</td> //вот тут выводится в байтах
</tr>
</table>", $myrow ["NewFilePatch"],
$myrow ["id"],
$myrow ["namebooks"],
$myrow ["autorbooks"],
$myrow ["typebooks"],
$myrow ["splacebooks"],
$myrow ["changebooks"],
$myrow ["datetime_today"],
$myrow ["sizebooks"]);
}
while ($myrow = mysql_fetch_array ($result));
?>
</body>
</html>
Спустя 16 минут (17.05.2012 - 11:07) Nikitian написал(а):
Спустя 2 минуты, 37 секунд (17.05.2012 - 11:10) sergeiss написал(а):
Цитата (MishaNesoleniy @ 17.05.2012 - 11:51) |
нужно чтобы в printf выводился размер в МБ или КБ в зависсимости от загружаемого файла.... |
На эту тему анекдот есть.
---
Только начинающий юзер думает, что в килобайте 1000 байт. Продвинутый же юзер ЗНАЕТ, что в километре - 1024 метра

---
Намек понятен, я надеюсь?
Спустя 2 минуты, 7 секунд (17.05.2012 - 11:12) MishaNesoleniy написал(а):
я это понимаю...но мне нужно как то внедрить это в мой код..вот в чем проблема
Спустя 3 минуты, 27 секунд (17.05.2012 - 11:15) sergeiss написал(а):
Да, и еще. Замени цикл do-while() на while()!!! "Поповский" код - не самое лучшее изобретение в мире.
Спустя 6 минут, 21 секунда (17.05.2012 - 11:22) sergeiss написал(а):
Цитата (MishaNesoleniy @ 17.05.2012 - 12:12) |
но мне нужно как то внедрить это в мой код..вот в чем проблема |
Ты для начала подумай сам, что же именно ты будешь внедрять. Тут задача на уровне где-то 1 класса церковно-приходской школы

Спустя 1 минута, 22 секунды (17.05.2012 - 11:23) MishaNesoleniy написал(а):
Пытаюсь вот с этим делом справиться
function filesize_get($file)
{
// проверяем существует ли файл
if(!file_exists($file)) return "Файл отсутствует.";
//определяем размер файла
$filesize = filesize($file);
// Если размер переданного в функцию файла больше 1кб
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// если размер файла больше одного килобайта
// пересчитываем в мегабайтах
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// если размер файла больше одного мегабайта
// пересчитываем в гигабайтах
if($filesize > 1024)
{
$filesize = ($filesize/1024);
$filesize = round($filesize, 1);
return $filesize." ГБ";
}
else
{
$filesize = round($filesize, 1);
return $filesize." MБ";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." Кб";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." байт";
}
}
function filesize_get($file)
{
// проверяем существует ли файл
if(!file_exists($file)) return "Файл отсутствует.";
//определяем размер файла
$filesize = filesize($file);
// Если размер переданного в функцию файла больше 1кб
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// если размер файла больше одного килобайта
// пересчитываем в мегабайтах
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// если размер файла больше одного мегабайта
// пересчитываем в гигабайтах
if($filesize > 1024)
{
$filesize = ($filesize/1024);
$filesize = round($filesize, 1);
return $filesize." ГБ";
}
else
{
$filesize = round($filesize, 1);
return $filesize." MБ";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." Кб";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." байт";
}
}
Спустя 13 минут, 40 секунд (17.05.2012 - 11:37) Игорь_Vasinsky написал(а):
увидел топик, заинтересовало, начал писать функцию по преобразованию в разные размеры, в итоге понял что будет простыня.. бросил :lol:
$data = 111234312112; //КБ
function getSize($data, $in_metric = 'b', $out_metric = 'mb')
{
switch($in_metric)
{
case 'b':
if($out_metric == 'b')
return $data . 'b';
elseif($out_metric == 'kb')
return ($data / 1024) . 'Kb';
elseif($out_metric == 'mb')
return ($data / 1024 / 1024) . 'Mb';
elseif($out_metric == 'gb')
return ($data / 1024 / 1024 / 1024) . 'Gb';
elseif($out_metric == 'tb')
return ($data / 1024 / 1024 / 1024 /1024) . 'Tb';
break;
case 'kb':
if($out_metric == 'b')
return $data * 1024 . 'b';
elseif($out_metric == 'kb')
return $data . 'Kb';
elseif($out_metric == 'mb')
return ($data * 1024 * 1024) . 'Mb';
elseif($out_metric == 'gb')
return ($data / 1024) . 'Gb';
elseif($out_metric == 'tb')
return ($data / 1024 / 1024) . 'Tb';
break;
......
}
}
echo getSize(1000, 'b', 'gb');
Спустя 16 минут, 43 секунды (17.05.2012 - 11:53) MishaNesoleniy написал(а):
проблема как функцию по преобразованию внедрить в printf.....вот этот момент меня интересует...если есть идеи помогите
Спустя 2 минуты, 7 секунд (17.05.2012 - 11:56) Игорь_Vasinsky написал(а):
printif не будет в такие пропорции конвертировать. кратные на 1024
Спустя 3 минуты, 10 секунд (17.05.2012 - 11:59) MishaNesoleniy написал(а):
получается тогда в printf не выведешь конвертированный размер....нужно отдельно выводить?
Спустя 13 минут, 6 секунд (17.05.2012 - 12:12) sergeiss написал(а):
MishaNesoleniy - я не знаю, зачем тебе это всё нужно. Но, по-моему, программирование - это не твоё дело.
Спустя 6 минут, 7 секунд (17.05.2012 - 12:18) MishaNesoleniy написал(а):
я тоже так думаю...ладно спасибо за ответы))
Спустя 15 минут, 8 секунд (17.05.2012 - 12:33) forza написал(а):
Вот она беда то в чем заключается...
Попов сказал: "do-while"... Все! Кроме do-while ничего не приемлено.
Попов сказал: "printf" ... Все! Кроме printf никаких функций для вывода нельзя использовать.
Мой вам совет. Если хотите научиться программировать, начните с ИРБИС куросв. Очень хорошо и подробно все расписано, и что самое главное - правильно.
Попов сказал: "do-while"... Все! Кроме do-while ничего не приемлено.
Попов сказал: "printf" ... Все! Кроме printf никаких функций для вывода нельзя использовать.
Мой вам совет. Если хотите научиться программировать, начните с ИРБИС куросв. Очень хорошо и подробно все расписано, и что самое главное - правильно.
Спустя 20 дней, 1 час, 44 минуты, 3 секунды (7.06.2012 - 14:17) Эли4ка написал(а):
вот готовый код функции,надеюсь разобраться не очень сложно..да и работает вроде нормально..
$size = htmlspecialchars($_POST['size']);
$x = 1;
function myfilesize($x, $size){
while ($size>1024) {
$size = $size/1024;
$x++;
}
$healthy = array("1", "2","3","4","5","6","7","8","9");
$yummy = array("б","кб","мб","гб","тб","пб","эб","зб","йб");
$newphrase = str_replace($healthy, $yummy, $x);
$size = round($size , 1);
$finish = $size . ' ' . $newphrase . '<br>';
return $finish;
}
echo myfilesize($x, $size);