से अवधि प्राप्त करें मैं एक ऐसे फ़ंक्शन की तलाश कर रहा हूं जो यूआरएल से वीडियो की यूट्यूब अवधि खींच लेगा। मैंने कुछ ट्यूटोरियल पढ़े लेकिन इसे नहीं मिला। मैं एक यूआरएल का उपयोग कर अपनी साइट पर वीडियो एम्बेड करता हूं और मेरे पास एक ऐसा फ़ंक्शन है जो थंबनेल खींचता है और मुझे बस कुछ ऐसा ही चाहिए जो अवधि प्राप्त करता हो।यूट्यूब यूआरएल
<?php
function getDuration($url){
parse_str(parse_url($url,PHP_URL_QUERY),$arr);
$video_id=$arr['v'];
[email protected]_get_contents('http://gdata.youtube.com/feeds/api/videos/'.$video_id.'?v=2&alt=jsonc');
if (false===$data) return false;
$obj=json_decode($data);
return $obj->data->duration;
}
echo getDuration('http://www.youtube.com/watch?v=rFQc7VRJowk');
?>
उस वीडियो की अवधि को सेकंड में प्रस्तुत करती है: यहाँ कैसे मैं अंगूठे मिल
function get_youtube_screen_link($url = '', $type = 'default', $echo = true) {
if(empty($url))
return false;
if(!isset($type))
$type = '';
$url = esc_url($url);
preg_match("|[\\?&]v=([^&#]*)|",$url,$vid_id);
if(!isset($vid_id[1]))
return false;
$img_server_num = 'i'. rand(1,4);
switch($type) {
case 'large':
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/0.jpg";
break;
case 'first':
// Thumbnail of the first frame
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/1.jpg";
break;
case 'small':
// Thumbnail of a later frame(i'm not sure how they determine this)
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/2.jpg";
break;
case 'default':
case '':
default:
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/default.jpg";
break;
}
if($echo)
echo $img_link;
else
return $img_link;
}
मुझे प्रत्येक पोस्ट के लिए एक कस्टम फ़ील्ड में दर्ज यूआरएल से खींचने के लिए $ video_id की आवश्यकता है। –
url – stewe
से वीडियो_आईडी प्राप्त करने के लिए उदाहरण अपडेट किया गया मैंने इसे फ़ंक्शन के रूप में उपयोग किया और यह काम करता है लेकिन यदि वीडियो को यूट्यूब से हटा दिया गया है तो मुझे त्रुटियां मिलती हैं जहां यह आउटपुट करने का प्रयास करती है। इसके खिलाफ सुरक्षा के लिए मैं एक कथन कैसे कर सकता हूं? –