PHP 字节到千字节


PHP bytes to kilobytes

我有这样的东西

<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 文件大小 MB/KB 转换

然后你可以使用

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

这将输出千字节。

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

你写了你的答案。只需要添加函数的参数。

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

使用函数参数:

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

只需要调用函数并向其添加参数即可。

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