[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Определение размера файла
Chel_Hacker777
Нужно определить размер больших файлов (некоторые больше 4 Гб). ОС Linux.
Пробовал через filesize и fstat, но обе функции при больших файлах выдают отрицательные значения. Как можно по-другому определить размер файла? Может кто-то уже сталкивался с подобной ситуацией!? Помогите!



Спустя 8 часов, 2 минуты, 19 секунд (6.01.2011 - 10:32) LRCenter написал(а):
Сталкивался, внятного решения так и не нашел, хотя искал не очень настойчиво wink.gif . Может для этого существуют какие-нибудь сторонние модули?

Спустя 3 часа, 34 минуты, 26 секунд (6.01.2011 - 14:07) sharki написал(а):
Chel_Hacker777
По идее если выдает отрицательные значения, значит вероятно происходит переполнение, это можно избежать если пере конвертировать в другой тип, который вмещает большее значений!

Спустя 8 минут, 25 секунд (6.01.2011 - 14:15) ИНСИ написал(а):
Chel_Hacker777 попробуй мои функции:
	/**
* Корректирует путь к файлу
*
@param string $path - Абсолютный путь к файлу
*/

function path_trim($path)
{
$path = str_replace("\\", "/", trim($path));
while (strlen($path) > 1 && $path[strlen($path)-1] == "/")
$path = substr($path, 0, strlen($path)-1);
return $path;
}

/**
* Конвертирует размер файла
*
@param int $size - Абсолютный путь к файлу
*/

function file_size_format($size)
{
$size = intval($size);
$ar = array("B", "Kb", "Mb", "Gb");
$pos = 0; while($size>=1024) {$size /= 1024; $pos++;}
$str = round($size,2)." ".$ar[$pos];
return $str;
}

/**
* Возвращает размер файла
*
@param string $path - Абсолютный путь к файлу
*
@param bool $format - Флаг форматирование размера
*/

function file_size($path, $format=false)
{
$path = path_trim($path);
if (strlen($path) < 1) return 0;
$size = intval(@filesize($path));
if ($format) $size = file_size_format($size);
return $size;
}


Спустя 11 часов, 29 минут, 14 секунд (7.01.2011 - 01:44) Chel_Hacker777 написал(а):
Я уже сделал чтоб при файлах больше 2-х гигов выводилось 2+ Гб, потому что нигде не нашел решения подобной задачи. На многих форумах тема обсуждалась, но конкретного ответа так нигде и не нашел. Всем большое спасибо, что откликнулись на помощь!
welbox2
Интересные функции, нужно будет попробовать. Спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.