file_get_contents проверить тип файла

L
На сайте с 17.05.2013
Offline
88
1452

Такая ситуация:

$f=file_get_contents("http://site.com/image.jpg") - если нет картинки - все-равно загружает страницу site.com/error.html

теость $f полюбому строка.

Как узнать $f это строка хтмл или $f это файл с картинкой?

F
На сайте с 16.11.2012
Offline
56
#1

Может сначала проверить наличие файла?

[umka]
На сайте с 25.05.2008
Offline
456
#2

Парсим $http_response_header

Лог в помощь!
desinder999
На сайте с 20.11.2009
Offline
68
#3

function isImageAvailable($url) {

$file_headers = @get_headers($url);

if(strpos($file_headers[0], '404 Not Found') > 0)
return false;
else
return true;
}
[umka]
На сайте с 25.05.2008
Offline
456
#4

fmex, desinder999, угу, и будет два http-запроса вместо одного.

дани мапов
На сайте с 06.09.2012
Offline
204
#5

function is_image($path)

{
$a = getimagesize($path);
$image_type = $a[2];

if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
{
return true;
}
return false;
}
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
domen4you
На сайте с 08.03.2013
Offline
53
#6

$fext = explode(".", $f);

$fext = end($fext);

if($fext === 'jpg'){

//true

}

desinder999
На сайте с 20.11.2009
Offline
68
#7

[umka] я предложил вариант, ТС не озвучил какое задание перед ним стоит....может нужно написать парсер (не сложный), который будет использоваться максимум несколько раз, тогда нечего плохого в такой проверке нет.:)

дани мапов
На сайте с 06.09.2012
Offline
204
#8

domen4you, расширение файла откуда собрались получать?))

R
На сайте с 18.12.2009
Offline
92
#9

2. расширение файла != тип файла

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий