Я бы сказал, что это зависит от того, что дорого стоит в вашей системе ... если вам абсолютно необходимо использовать минимально возможный объем памяти, тогда запись непосредственно на диск может быть вашим единственным вариантом, хотя базовая система реализует запись на диск 'будет по-прежнему записывать кусками, когда это возможно, поскольку вы, вероятно, не вызываете' write 'для каждого символа.
В конце концов, буферизация в разумных пределах происходит быстрее ... Самый простой способ проверить это - выписать большую строку символов, по одному символу за раз, затем строку в несколько разумных кусков.
Имея это в виду, я не могу думать о том, почему бы вам не хоть как-то буферизовать свой вывод! Если все, что вы делаете, это копируете файл из одного места в другое, то использование системного вызова (если доступно), вероятно, намного быстрее, чем чтение, буферизация и запись в PHP.