Как может я размер файла изображения от URL?

Изображения и сценарий размещаются на той же учетной записи (один сайт), но мы знаем только 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 мегабайта".

7
задан TRiG 19 September 2016 в 17:07
поделиться

4 ответа

Используйте функцию 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]); }
}
26
ответ дан 6 December 2019 в 06:23
поделиться

Изображения и скрипт размещены в одной учетной записи (один сайт).

Тогда не используйте URL: используйте прямой путь к файлу и размер файла () .

3
ответ дан 6 December 2019 в 06:23
поделиться
<?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";
  ?>

Убедитесь, что это может сработать для вас

-4
ответ дан 6 December 2019 в 06:23
поделиться
 echo filesize($_SERVER['DOCUMENT_ROOT']."/images/full-1091.jpg");

обратите внимание, что http://site.com/images/full-1091.jpg не является файлом

для форматированного вывода (" 156,8 Кбайт »или« 20,1 Мбайт ») попробуйте помочь себе и воспользуйтесь поиском. На этот вопрос уже есть масса ответов.

0
ответ дан 6 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: