如何从 URL 中获取图像文件的大小?

发布于 2024-09-12 04:26:12 字数 386 浏览 8 评论 0原文

图像和脚本托管在同一帐户(一个站点)上,但我们只知道图像的 URL。

$image = "http://example.com/images/full-1091.jpg"

我们如何获得该文件的大小

伪代码:

{ do something with $image and get $image_size }
echo $image_size;

我希望将 $image_size 格式化为人类可读的文件大小,例如“156,8 Kbytes”或“20,1 Mbytes”。

Images and script are hosted on the same account (one site), but we know only the URL of the image.

$image = "http://example.com/images/full-1091.jpg"

How can we get the size of this file?

Pseudo-code:

{ do something with $image and get $image_size }
echo $image_size;

I would prefer $image_size to be formatted in human-readable file sizes, like "156,8 Kbytes" or "20,1 Mbytes".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

小霸王臭丫头 2024-09-19 04:26:12

使用 filesize 函数如下:

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]); }
}

Use filesize function like this:

echo filesize($filename) . ' bytes';

You can also format the unit of the size with this function:

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]); }
}
嘿嘿嘿 2024-09-19 04:26:12

图像和脚本托管在同一帐户(一个站点)上。

那么不要使用 URL:使用直接文件路径和 filesize()

Images and script hosted on the same account (one site).

Then don't use a URL: Use the direct file path and filesize().

九公里浅绿 2024-09-19 04:26:12

请注意:

filesize()函数的结果被缓存!
使用clearstatcache()清除缓存...

来源:http:// /www.w3schools.com/php/func_filesystem_filesize.asp

Please Note:

The result of filesize() function are cached!
Use clearstatcache() to clear the cache...

source: http://www.w3schools.com/php/func_filesystem_filesize.asp

烂人 2024-09-19 04:26:12
 echo filesize($_SERVER['DOCUMENT_ROOT']."/images/full-1091.jpg");

请注意,

对于格式化输出(“156,8 Kbytes”或“20 ,1 MB”)尝试自助并使用搜索。这个问题已经有很多答案了。

 echo filesize($_SERVER['DOCUMENT_ROOT']."/images/full-1091.jpg");

note that http://site.com/images/full-1091.jpg is not a file

as for the formatted output ("156,8 Kbytes" or "20,1 Mbytes") try to help yourself and use search. There is a ton of answers to this question already.

夜深人未静 2024-09-19 04:26:12
<?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";
  ?>

检查一下它是否适合你

<?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";
  ?>

Check this it can work for you

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文