Я создал функцию обработки изображений на одном из своих старых сайтов, и она запускается на странице, которая получила полный URL-адрес изображения в качестве переменной получения. Часть этой функции использует get_headers для получения типа содержимого запрошенного файла.
Хотя это работает на моем старом сервере, я недавно перешел на новый сервер, и я помню, что у меня были всевозможные проблемы с этой страницей, но я думаю, что это было больше на стороне сервера с библиотекой GD.
Я запускаю сайт на выделенном сервере с php 5.4.X и WHm cPanel, поэтому у меня есть полный доступ для изменения и установки вещей по мере необходимости.
Проблемный код
<?php
//Get the file and set the headers to the file type
$file = $_GET['file'];
$headers = get_headers($file, 1);
header('Content-Type: '.$headers['Content-Type']);
Ответ страницы
Warning: get_headers(): php_network_getaddresses: getaddrinfo failed: Name or service not known in [Removed url] on line 5
Warning: get_headers([Removed url]): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in [Removed url] on line 5
Warning: Cannot modify header information - headers already sent by (output started at [Removed url]:5) in [Removed url] on line 6
Единственное, что я изменил на стороне сервера, это включить в WHM значение allow_url_fopen, все остальное, что я пробовал, я сбрасывал обратно после того, как оно не работало.