Какие функции PHP создают выходные данные?
Кто-нибудь собрал список всех функций/методов PHP, которые отправляют вывод в браузер (или STDOUT при запуске в режиме CLI)? Быстрый поиск не показывал никаких справочных страниц с этой информацией (но я мог быть там не там)
Мне интересны функции, предназначенные для этого, а не функции, которые могут вызывать предупреждения, которые будут отправляться непосредственно в браузер.
Функции print
и echo
являются очевидными, я ищу список менее известных функций вывода, например readfile.
Основная причина, по которой я задаю этот вопрос, - это список функций, которые нужно проверить при поиске ошибок стиля "раннего выхода". (заголовки не могут быть установлены и т.д.)
Ответы
Ответ 1
Расширяемый список:
printf
vprintf
var_export
passthru
gzpassthru
fpassthru
debug_print_backtrace
[+] они скорее obvoius, но также стоит упомянуть:
flush
ob_flush
ob_end_flush
И связанные с заголовком функции также выводят вывод, я помню, что мне нужно было запустить php-cgi, когда двоичный файл CLI был недоступен, и там было особенно раздражающим
header
setcookie
session_start /* with sessions that uses cookie */
Ответ 2
Существует curl_exec()
с настройкой CURLOPT_RETURNTRANSFER на false.
А die()
и exit()
достаточно хороши для вашего списка?
Изменить: imagepng()
, imagejpeg()
, imagegif()
?
И на самом деле phpinfo()
.
Ответ 3
Никогда не видели список, но можете добавить var_dump
и print_r
для стартеров?:)
Ответ 4
Там, который часто пропускается/игнорируется:
trigger_error()