Warning: Undefined array key "user_id" in /www/wwwroot/www.wpxsxy.com/wp-content/themes/wpxsxy/extra/medalsystem/medal-system-fn.php on line 4
WordPress获取附件文件的大小-WP新手学园
  • WordPress获取附件文件的大小
  • WordPress本身自带的媒体库功能还是比较全面的,但是对于我来说可能不够,于是乎对于其进行了一定程度的自定义,最终效果如下:
    WordPress获取附件文件的大小-WP新手学园

    可以看到图片中多出了比较多的信息,其中包含了附件的ID,大小,宽高以及该附件关联的文章,这里关联的文章不同于WordPress自带的“上传至”,因为很多站点可能会出现多篇文章使用一个图片文件,那么你可能就需要了解到这个图片用到了那些文章中去了,如果说这个附件要进行删除或者修改,你就知道哪些文章需要重新编辑了,否则可能就会出现图片无法加载的情况了。

    废话不多说,获取附件的文件主要是通过一个函数来解决: get_attached_file(),该函数描述如下:

  • get_attached_file() 函数介绍
  • 函数用法
  • get_attached_file( int $attachment_id, bool $unfiltered = false )

    Retrieve attached file path based on attachment ID.

  • 功能介绍
  • By default the path will go through the ‘get_attached_file’ filter, but passing a true to the $unfiltered argument of get_attached_file() will return the file path unfiltered.

    The function works by getting the single post meta name, named ‘_wp_attached_file’ and returning it. This is a convenience function to prevent looking up the meta name and provide a mechanism for sending the attached filename through a filter.

  • 参数介绍
  • $attachment_id

    (int)
    (Required)
    Attachment ID.

    $unfiltered

    (bool)
    (Optional)
    Whether to apply filters.

    Default value: false

  • 返回值
  • (string|false) The file path to where the attached file should be, false otherwise.
  • 当你获取了文件之后需要通过PHP函数:filesize()来获取其大小:

  • filesize 函数介绍
  • 函数介绍
  • (PHP 4, PHP 5, PHP 7, PHP 8)

    filesize — 取得文件大小

  • 函数说明
  • filesize(string $filename): int

    取得指定文件的大小。

  • 参数介绍
  • filename

    文件的路径。

  • 返回值
  • 返回文件大小的字节数,如果出错返回 false 并生成一条
    E_WARNING 级的错误。
  • 通过这个函数获取到了体积之后是一串数字,单位字节,如果你需要合理动态替换为常见的文件大小单位,那么可能就需要用到下面的函数:

  • size_format() 函数介绍
  • 函数用法
  • size_format( int|string $bytes, int $decimals )

    Convert number of bytes largest unit bytes will fit into.

  • 功能介绍
  • It is easier to read 1 KB than 1024 bytes and 1 MB than 1048576 bytes. Converts number of bytes to human readable number by taking the number of that unit that the bytes will go into it. Supports TB value.

    Please note that integers in PHP are limited to 32 bits, unless they are on 64 bit architecture, then they have 64 bit size. If you need to place the larger size then what PHP integer type will hold, then use a string. It will be converted to a double, which should always have 64 bit length.

    Technically the correct unit names for powers of 1024 are KiB, MiB etc.

  • 参数介绍
  • $bytes

    (int|string)
    (Required)
    Number of bytes. Note max integer size for integers.

    $decimals

    (int)
    (Optional)
    Precision of number of decimal places. Default 0.

  • 返回值
  • (string|false) Number string on success, false on failure.
  • 所以最后如果你想要获取一个附件的体积大小,代码如下:

    本文第1张图片就是最终的展示效果了。

  • 订阅站点了解最新技巧
  • 任何有用的技巧我们均将通过邮件告知你
  • 点击订阅
    高级设置
  • 0
    大惊
    0
    大笑
    0
    发呆
    0
    恶魔
    0
    流泪
    0
    调皮
    0
    笑出泪
    0
    犯困
    0
    坏笑
    0
    疑问
  • 版权声明:整理不易,如无特殊说明,文章内容均为本站原创,转载请注明出处
  • 本文标题:WordPress获取附件文件的大小
  • 本文链接:https://www.wpxsxy.com/590.html [点击复制]
  • W******
  • 2830776172
  • qweqw
  • qwe
  • 啥都没有,没啥好看的
    主页
    关注
    聊天
    如何通过preg_replace_callback动态变量替换内容
  • 上一篇:
  • 如何通过preg_replace_callback动态变量替换内容
  • WordPress关于评论相关的钩子
  • 下一篇:
  • WordPress关于评论相关的钩子
  • 相关推荐
    文章评论
    提交评论
    标签推荐