У вас нет расширения OpenSSL, установленного в вашем экземпляре PHP, поэтому обертка https://
недоступна.
Примечание: HTTPS поддерживается только при включенном расширении openssl.
blockquote>И :
Использовать PHP Поддержка OpenSSL также должна скомпилировать PHP -with-openssl [= DIR].
blockquote>Вам нужно будет перекомпилировать PHP с расширением OpenSSL.
В качестве альтернативы, как предложено другими словами, вы можете заменить
https://
наhttp://
, что для изображений Facebook должно работать так же хорошо - действительно, это может быть быстрее и, безусловно, будет более эффективным с пропускной способностью.Я бы сделал что вот так:
$url = 'https://facebook.com/path/to/image.jpg'; $url = trim($url); // Get rid of any accidental whitespace $parsed = parse_url($url); // analyse the URL if (isset($parsed['scheme']) && strtolower($parsed['scheme']) == 'https') { // If it is https, change it to http $url = 'http://'.substr($url,8); }
Еще один момент в том, что передача
$url
непосредственно вgetimagesize()
, вероятно, не то, что вы хотите делать. Маловероятно, что единственное, что вы делаете с изображением, это его размер, вы, вероятно, будете отображать его на своей странице или иным образом манипулировать им, и если бы это было так, то вы в конечном итоге загрузили его более одного раза.Вероятно, вы должны загрузить его во временный каталог, а затем работать с его локальной копией.