Можно ли установить User-Agent при чтении удаленного файла с помощью readfile () в php?

Например, в cURL я могу использовать curl_setopt($curlrequest, CURLOPT_USERAGENT, 'myuseragent'); чтобы изменить User-Agent когда я запрашиваю страницу, указанную в $curlrequest .

Но могу ли я сделать что-то подобное с readfile() ?

Да, вы можете установить свойство user_agent в конфигурационном файле php.ini или через ini_set() во время выполнения.

См. http://php.net/manual/en/filesystem.configuration.php#ini.user-agent (через http://php.net/manual/en/wrappers.http.php )

Обновить

Пример (по запросу)

 ini_set('user_agent', 'RTM'); 

Вы можете установить свойство user_agent в файле конфигурации php.ini или использовать ini_set для его изменения без изменения php.ini, поэтому вы можете настроить его на основе каждого сценария.

Кроме того, один из комментариев с этой страницы говорит, что вы можете сделать что-то вроде этого:

 <?php $default_opts = array( 'http' => array( 'user_agent' => 'Foobar', 'header' => array( 'X-Foo: Bar', 'X-Bar: Baz' ) ) ); stream_context_get_default($default_opts); readfile('http://www.xhaus.com/headers'); ?>