2012-07-07 80 views
0

因此,您可以通過php/javascript獲取YouTube視頻信息。但我不確定我應該使用Php還是JavaScript。
哪種方法可以使頁面加載更快?
我應該在我的網站上放置視頻還是放在YouTube上並使用JW播放器?在php或javascript中獲得youtube視頻源

目前,我用PHP編寫代碼。我有一個來自YouTube的視頻ID列表。 php代碼讀取所有這些id,循環它們以提供視頻標題,描述等信息並在頁面上顯示這些信息。謝謝!

foreach ($vidIds as $vidId){ 
      $xml ="http://gdata.youtube.com/feeds/api/videos/" . $vidId; 
$doc = new DOMDocument; 
$doc->load($xml); 
$ns = "http://search.yahoo.com/mrss/"; 
$title = $doc->getElementsByTagNameNS($ns, "title")->item(0)->nodeValue; 
$desc = $doc->getElementsByTagNameNS($ns, "description")->item(0)->nodeValue; 
$thumbnail = $doc->getElementsByTagNameNS($ns, "thumbnail")->item(2)->getAttribute("url"); 


<div class="preview-frame"> 
    <a href="player.php?vidId=<?= $vidId ?>" > 
    <img class="preview-img" src="<?= $thumbnail ?>" alt="Te Cong preview image"/> 
    </a> 
    <div class="preview"> 
    <span> 
    <a href="player.php?vidId=<?= $vidId ?>"><?= $title ?></a> 
    </span> 
    <br/> 
    <?= $desc ?> 
    </div> 
</div> 
    <?php } ?> 

回答

1

Php和Javascript都很好,但是如果您不斷從youtube和yahoo頁面抓取這些信息,您將始終有一個緩慢的頁面。如果您可以設置cron作業來緩存結果,然後只在頁面加載時從此緩存中讀取,則應該大大加快您的頁面加載時間。這不是一個語言問題,它更像是後端設計問題。

+0

謝謝。我現在明白了。你知道緩存結果的正確方法嗎?我在猜測,我只會提供一次信息,將它保存在某個地方,下次使用這些結果。是對的嗎? – kaboom 2012-07-07 17:15:07

+0

有幾件事你可以做。 - 把它放到某種數據庫中,mysql等等... - 把它寫到一個文件中,然後用json或類似的東西格式化它。 - 使用Memcache服務器。 前兩個可能是最容易做到的,最後一個可能或不可能實際取決於您的託管課程。 – sean 2012-07-07 17:15:29

+0

這太棒了!謝謝 – kaboom 2012-07-07 17:30:17

相關問題