如何知道在不使用Google API的情況下是否存在具有最高分辨率的YouTube縮略圖?檢查youtube縮略圖是否存在
例如,帶有代碼的視頻不具有最大分辨率。如果我們打開網址:http://i1.ytimg.com/vi/4rlR7EncGD0/maxresdefault.jpg
,我們可以看到灰色的矩形,這意味着沒有縮略圖,對吧?
我有的代碼,只是檢查文件是否存在。如果文件存在,它會顯示在網站內。不幸的是,這對於那些「灰色矩形」不起作用。
如何知道在不使用Google API的情況下是否存在具有最高分辨率的YouTube縮略圖?檢查youtube縮略圖是否存在
例如,帶有代碼的視頻不具有最大分辨率。如果我們打開網址:http://i1.ytimg.com/vi/4rlR7EncGD0/maxresdefault.jpg
,我們可以看到灰色的矩形,這意味着沒有縮略圖,對吧?
我有的代碼,只是檢查文件是否存在。如果文件存在,它會顯示在網站內。不幸的是,這對於那些「灰色矩形」不起作用。
我'使用該:
$item = '4rlR7EncGD0';
$MaxResURL = 'https://i1.ytimg.com/vi/'.$item.'/maxresdefault.jpg';
//print $MaxResURL;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $MaxResURL,
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_NOBODY => true));
$header = explode("\n", curl_exec($curl));
curl_close($curl);
//var_dump($header);
//If maxres image exists do something with it.
if (strpos($header[0], '200') !== false) {
print $MaxResURL;
}else{
print 'Some Other IMG';
}
使用捲曲該檢查頭。如果它是好的'200'打印網址,當然你可以顯示圖像或你特別需要做的,我用這個來添加Facebook和Twitter元標記。
我使用的代碼從這個回答:
How do I check if a string contains a specific word in PHP?要檢查200頭
而且
PHP get_headers not working?要,因爲我使用WordPress獲得頭女巫捲曲,由於某種原因get_headers()不起作用。
我不是專家,我不知道這是否是解決此問題的最佳方法,但此代碼對我有用,希望它有幫助。