getimagesize 函數無力讀取 限制 user-agent等特殊請求頭的圖片寬高信息,解決方案

本文 針對 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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章