我從facebook上檢索facebook相冊圖像。我使用php函數getimagesize計算圖像大小。當url處於http模式時,此函數工作正常。當Facebook使用https返回圖像url時getimagesize給出error.How我可以計算圖像與https擴展使用getimage大小的圖像大小getimagesize和https
3
A
回答
4
您沒有安裝在你的PHP實例OpenSSL的擴展,所以https://
包裝是無法使用。
注:啓用HTTPS OpenSSL的擴展名時,才支持。
And:
使用PHP的OpenSSL的支持,還必須在編譯PHP的--with-的OpenSSL [= DIR]。
您將需要使用OpenSSL擴展重新編譯PHP。
或者,正如其他人所建議的那樣,您可以用http://
代替https://
,這對於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()
可能不是在做你想要什麼。對圖像進行處理的唯一可能性不大,您可能會將其顯示在您的網頁上或以其他方式操縱它,如果情況如此,您最終會多次下載它。
您應該將其下載到臨時目錄,然後在其本地副本上工作。
0
我測試了這個,它工作正常。
$url = "https://path/to/image.jpg";
$url = str_replace("https://", "http://", $url);
$size = getimagesize($url);
1
$newlink = str_replace('https://', 'http://', $oldlink);
我想這可能有助於剝離https://開頭爲http://
相關問題
- 1. 和getimagesize()不與具有HTTPS
- 2. PHP問題和getimagesize()
- 3. 和getimagesize() - 讀取錯誤
- 4. 慢getimagesize
- 5. php,getimagesize
- 6. 和getimagesize和非拉丁字符
- 7. getimagesize + not working
- 8. getimagesize不工作
- 9. getimagesize錯誤
- 10. PHP - getimagesize函數
- 11. PHP getimagesize變量
- 12. 沒有URL文件訪問PHP和getimagesize
- 13. 和getimagesize()函數不使用Linux
- 14. getimagesize()不返回圖像值
- 15. 使getimagesize()引用緩存值
- 16. getimagesize功能不起作用
- 17. 如何解決getimagesize空?
- 18. 如何在file_get_contents()之後getimagesize()?
- 19. 如何重定向https://開頭WWW到https://和http:// WWW到https://和http://到https://
- 20. Rails,Windows和HTTPS
- 21. WCF,GET和HTTPS
- 22. https和get後
- 23. HTTPS和證書
- 24. Android HttpClient和HTTPS
- 25. Apigility和https
- 26. Beego和HTTPS
- 27. HTTP和HTTPS iframe
- 28. ASP.NET HTTPS和RelativeUrls
- 29. NSURLSession和HTTPS
- 30. Selenium和HTTPS/SSL
你應該能夠從你的圖片網址中去掉`s`。 – luastoned 2011-12-15 10:17:14
你嘗試用http mannualy替換https嗎?我認爲它會起作用。 – Narek 2011-12-15 10:18:08