本文 针对 getimagesize 函数无力读取 限制 user-agent等头特殊头的图片宽高等信息
<?php
$img = 'http://i.17173cdn.com/2fhnvk/YWxqaGBf/cms3/ibFplfbmqFrzDDy.jpg!a-3-480x.jpg';
$img = 'http://i.17173cdn.com/2fhnvk/YWxqaGBf/cms3/AuigCtbmqFrzDAh.gif';
echo "以下失败\n";
print_r(getimagesize($img));
echo "\n\n\n以下成功\n";
$hdrs = array(
'http' =>array(
'header' =>
"Host: i.17173cdn.com\r\n" .
"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3423.2 Safari/537.36\r\n" ,
'timeout'=>30
),
);
$context = stream_context_create($hdrs);
$fp = fopen($img, "rb",false,$context) or die("Invalid file stream.");
$head_block = fread($fp, 256);
$size = getimagesize('data://image/jpeg;base64,'. base64_encode($head_block));
print_r($size);
exit;