$max_buf = $size - $now_size if $size - $now_size < $max_buf;

これで $now_size が $size より小さければ $max_buf は0になります。
$now_size が $size より大きければ $max_buf には $size より足りない数になります。

どうなるかは解ったのですが、そうしてこうなるのかが解りません。
どういう風に解釈したら良いのでしょう。

<例>
$size = 12
$now_size = 10
$max_buf = 0

<例>
$size = 10
$now_size = 12
$max_buf = -2