О любом, который можно буферизовать. Скажем, поток, который предоставляет ресурс, связанный с локальным файлом - буферизуем, а тот, что указывает на
http://что-то - нет. (впрочем, теоретически себе это представить можно, но это зависит от соответствующего wrapper-а )
file_get_contents плоха, когда нужно получать информацию и что-то с ней делать при размерах файла, скажем, > 1Gb