2012-07-20 129 views
0

在我的頁面上,我有一個YouTube視頻的縮略圖作爲圖像,並且我想在用戶點擊圖像後使用prettyPhoto播放視頻。我怎麼能做到這一點?無法加載圖像。確保路徑正確並且圖像存在

這裏是我的形象代碼:

<div class="video" id="videoPlaceHolder" style="position:relative;"> 
    <a rel="prettyPhotos" href="https://www.youtube.com/embed/<?php getFirstFeatureVideoURL(); ?>"> 
    <img style="background:url(<?php getFirstFeatureVideoThumbnail() ?>); background-repeat:no-repeat; background-size:cover; -moz-background-size: cover;" src="/images/ytIndex_overlay.png" onClick="addPlayer();" /> 
    </a> 
</div> 

PHP函數getFirstFeatureVideoURL爭奪,並返回第一視頻的「正確」的網址(我已分別檢查它和視頻播放W/O任何問題)。另一個稱爲getFirstFeatureVideoThumbnail的函數返回視頻的縮略圖。我已經爲prettyPhoto準備好了所有的插件,到目前爲止它可以完美地處理所有圖像。然而,當我試圖通過單擊圖像上播放這部影片,它給我的錯誤:

Image cannot be loaded. Make sure the path is correct and the image exists

爲什麼會出現這個錯誤?

回答

-1

好了,所以我最終產生<一>和< IMG>我的PHP函數內部標籤,如下面和固定我的問題....

function getFeatureVideo() 
{ 
$xml = simplexml_load_file('https://gdata.youtube.com/feeds/api/playlists/A4F160EDF82713A2?v=2'); 
. 
. 
. 
. 
$media = $entry->children('http://search.yahoo.com/mrss/'); 

    $attrs = $media->group->player->attributes(); 
    $watch = $attrs['url']; 

    $attrs = $media->group->thumbnail[1]->attributes(); 
    $thumbnail = $attrs['url']; 

    $result .='<a rel="prettyVideos" href="'.$watch.'"> 
       <img style="background:url('.$thumbnail.'); background-repeat:no-repeat; background-size:cover; -moz-background-size: cover;" src="/images/ytIndex_overlay.png" onClick="addPlayer();" /> 
     </a> ';  

echo $result;      
} 
1

它預計href是一個URL。你不能在這樣的URL中嵌入PHP代碼。

+0

但* href =「https://www.youtube.com/embed/」*正在重新調整我的有效鏈接......「https://www.youtube.com/embed/Id_kGL3M5Cg」 – AlwaysANovice 2012-07-20 22:10:03

0

什麼是你想的縮略圖版本要得到。我想你嘗試檢索標準清晰度縮略圖或最大分辨率縮略圖。他們都沒有爲這個視頻ID存在:Id_kGL3M5Cg

使用該工具來檢查它的存在與否:YouTube video info generator

我得到的結果, 標準清晰度縮略圖不適用於這部影片。 此視頻無法使用最大分辨率縮略圖。

您可以使用get_headers檢查圖像是否存在。檢查本教程中代碼的縮略圖部分:How to get YouTube Video Info with PHP