Изображения и сценарий размещаются на той же учетной записи (один сайт), но мы знаем только URL изображения.
$image = "http://example.com/images/full-1091.jpg"
Как мы можем получить размер этого файла?
Псевдокод:
{ do something with $image and get $image_size }
echo $image_size;
Я предпочел бы $image_size
быть отформатированным в человекочитаемых размерах файла, как "156,8 кбайт" или "20,1 мегабайта".
Используйте функцию px
следующим образом:
echo filesize($filename) . ' bytes';
Вы также можете отформатировать единицу размера с помощью этой функции:
function format_size($size) {
$sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
if ($size == 0) { return('n/a'); } else {
return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]); }
}
Изображения и скрипт размещены в одной учетной записи (один сайт).
Тогда не используйте URL: используйте прямой путь к файлу и размер файла ()
.
<?php
$contents=file_get_contents("http://site.com/images/full-1091.jpg");
// var_dump($contents);
// $fp =fopen("1.jpeg","w");
file_put_contents("1.jpeg",$contents);
$size= filesize("1.jpeg");
echo $size."in Bytes";
?>
Убедитесь, что это может сработать для вас
echo filesize($_SERVER['DOCUMENT_ROOT']."/images/full-1091.jpg");
обратите внимание, что http://site.com/images/full-1091.jpg
не является файлом
для форматированного вывода (" 156,8 Кбайт »или« 20,1 Мбайт ») попробуйте помочь себе и воспользуйтесь поиском. На этот вопрос уже есть масса ответов.