PHP 取 youtube 影片id

取得 youtube id

youtube 現在分享網址有好多種,

可能是這樣:

https://youtu.be/p_T3oNKjAT8

可能是這樣:

https://www.youtube.com/watch?v=p_T3oNKjAT8

不確定User會填入哪一種分享網址的情況下,下面這方法可以解析出這些類型的 youtube id

試試看:

<?php
/**
 * Get Youtube video ID from URL
 *
 * @param string $url
 * @return mixed Youtube video ID or FALSE if not found
 */
function getYoutubeIdFromUrl($url) {
    $parts = parse_url($url);
    if(isset($parts['query'])){
        parse_str($parts['query'], $qs);
        if(isset($qs['v'])){
            return $qs['v'];
        }else if(isset($qs['vi'])){
            return $qs['vi'];
        }
    }
    if(isset($parts['path'])){
        $path = explode('/', trim($parts['path'], '/'));
        return $path[count($path)-1];
    }
    return false;
}
// Test
$urls = array(
    'http://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player',
    'http://youtube.com/vi/dQw4w9WgXcQ?feature=youtube_gdata_player',
    'http://youtube.com/?v=dQw4w9WgXcQ&feature=youtube_gdata_player',
    'http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player',
    'http://youtube.com/?vi=dQw4w9WgXcQ&feature=youtube_gdata_player',
    'http://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player',
    'http://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player',
    'http://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player'
);
foreach($urls as $url){
    echo $url . ' : ' . getYoutubeIdFromUrl($url) . "\n";
}

 [……]

閱讀更多

解決 Fatal error: Call to undefined function exif_read_data()

上傳圖片遇到下面問題:

Fatal error: Call to undefined function exif_read_data()

支援版本

官方文件 PHP4 以上就支援此 exif_read_data()

如果已符合版本需求還是會出現此錯誤,可以試試看下面的解決方法。

解決方法:

  1. 找到你的 PHP.ini 文件
  2. 找到下面這一行
    ;extension=php_exif.dll
  3. 把前方的分號移除,如果找不到這行,可以直接複製下列文字,貼於 PHP.ini 裡
    extension=php_exif.dll
  4. 重新啟動Apache

[……]

閱讀更多