【问题标题】:PHP bytes to kilobytesPHP 字节到千字节
【发布时间】:2013-09-25 10:24:30
【问题描述】:

我有这样的事情

<td><?php echo $row_rsPhoto['size']; ?></td>

并以字节为单位显示文件大小,可以以千字节为单位,我正在尝试这样做 - 函数

public function size_as_kb()
{
    if ($this->size < 1024) {
        return "{$this->size} bytes";
    } elseif ($this->size < 1048576) {
        $size_kb = round($this->size/1024);
        return "{$size_kb} KB";
    } else {
        $size_mb = round($this->size/1048576, 1);
        return "{$size_mb} MB";
    }
}

我不知道这是否可行以及如何将其$row_rsPhoto['size']; 与功能联系起来

提前感谢您的帮助

【问题讨论】:

  • 您的问题并不完全清楚。您只是想以千字节为单位返回大小吗?还是要返回字节数、千字节、兆字节或千兆字节,具体取决于哪个适用?

标签: php byte


【解决方案1】:

看看这个讨论

PHP filesize MB/KB conversion

那么你可以使用

<td><?php echo size_as_kb($row_rsPhoto['size']); ?></td>

【讨论】:

    【解决方案2】:

    这输出千字节..

    <td><?php echo $row_rsPhoto['size'] >> 10; ?></td>
    

    【讨论】:

      【解决方案3】:

      你写下了你的答案。只需添加函数的参数即可。

      public function size_as_kb($yoursize) {
        if($yoursize < 1024) {
          return "{$yoursize} bytes";
        } elseif($yoursize < 1048576) {
          $size_kb = round($yoursize/1024);
          return "{$size_kb} KB";
        } else {
          $size_mb = round($yoursize/1048576, 1);
          return "{$size_mb} MB";
        }
      }
      

      通过写来调用它

      $photo_size = size_as_kb($row_rsPhoto['size']);
      

      【讨论】:

        【解决方案4】:

        使用函数参数:

         echo size_as_kb($row_rsPhoto['size']);
        
        public function size_as_kb($size=0) {
            if($size < 1024) {
            return "{$size} bytes";
            } elseif($size < 1048576) {
            $size_kb = round($size/1024);
            return "{$size_kb} KB";
            } else {
            $size_mb = round($size/1048576, 1);
            return "{$size_mb} MB";
            }
            }
        

        【讨论】:

          【解决方案5】:

          只需要调用函数并为其添加参数。

          <td><?php echo size_as_kb($row_rsPhoto['size']); ?></td>
          
           public function size_as_kb($size) {
          if($size < 1024) {
          return "{$size} bytes";
          } elseif($size < 1048576) {
          $size_kb = round($size/1024);
          return "{$size_kb} KB";
          } else {
          $size_mb = round(size/1048576, 1);
          return "{$size_mb} MB";
          }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-01-31
            • 1970-01-01
            • 2020-08-07
            • 2023-04-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多