我遇到了以下错误:
getimagesize(https://static1.squarespace.com/static/570d03d02b8dde8b2642afca/570f74e87c65e4819dec6812/57272dbfb6aa606f78a5d8b5/1470397291105/4XTRYCK3.jpg):无法打开流:HTTP请求失败!HTTP/1.1 400 Bad Request
这张图片在我的浏览器中可以正常打开。
有人知道为什么会失败吗?
我遇到了以下错误:
getimagesize(https://static1.squarespace.com/static/570d03d02b8dde8b2642afca/570f74e87c65e4819dec6812/57272dbfb6aa606f78a5d8b5/1470397291105/4XTRYCK3.jpg):无法打开流:HTTP请求失败!HTTP/1.1 400 Bad Request
这张图片在我的浏览器中可以正常打开。
有人知道为什么会失败吗?
Squarespace拒绝任何连接,其中User-Agent标头不是Web浏览器。这包括CURL和getimagesize。
您可以通过将以下代码插入到您的代码中来设置用户代理标头:
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)');
$url = "http://test.com/file name.jpg";
$url = preg_replace('/^http:/', 'https:', $url);
$url = (dirname($url) . '/'. rawurlencode(basename($url)));
Final URL: https://test.com/file%20name.jpg
通过这两个替换,调用getimagesize()成功了。