1

我有这样的东西

<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'];与功能联系起来

预先感谢您的帮助

4

5 回答 5

5

看看这个讨论

PHP 文件大小 MB/KB 转换

那么你可以使用

<td><?php echo size_as_kb($row_rsPhoto['size']); ?></td>
于 2013-09-25T10:31:07.337 回答
3

这输出千字节..

<td><?php echo $row_rsPhoto['size'] >> 10; ?></td>
于 2013-09-25T10:38:34.313 回答
1

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

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']);
于 2013-09-25T10:27:28.477 回答
1

使用函数参数:

 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";
    }
    }
于 2013-09-25T10:29:19.600 回答
1

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

<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";
}
}
于 2013-09-25T10:37:42.027 回答