YouTube Videoinformationen per PHP auslesen

Du könntest den gen titel nehmen, den bei youtube suchen lassen, und somit die zeit heraus zubekommen, was meiner Meinung nach aber viel zu rechen intensiv ist.
 
Versuch mal das:

PHP:
<?php
$yt_content = explode("\n", file_get_contents('http://www.youtube.com/watch?v=zgKIE60BLZY'));

foreach($yt_content as $line) {
    if(stristr($line, 'watch_fullscreen')) {
        // Zeile mit den Längeninfos gefunden
        preg_match('/.*l=(\d+?)\&.*/U', $line, $matches);
        echo "Das Video dauert " .floor($matches[1] / 60).':'.($matches[1] % 60)." Min";
    }
}
?>

Allerdings nimmt das Auslesen einige Zeit in anspruch...
 
Hab ich gar nicht gewusst, das die sowas anbieten. Noja, dann is das ja überhaupt kein Thema, einfach SimpleXML oder DOM verwenden, schwupdiwupp is das ausgelesen:

PHP:
$develid = "[your_developer_id]";
$video = "zgKIE60BLZY";

$url = "http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=".$develid."&video_id=".$video;

$xml = new SimpleXMLElement(file_get_contents($url));

print($xml->video_details->length_seconds);
 
Hallo!

Ich habe von SimpleXML und DOM nicht so ganz die Ahnung und würde lieber bei der PHP-Alternative bleiben, bei der man einfach bestimmte Teile des Quellcodes portiert... :)
Bräuchte noch den Titel in einer Variable und den Autor...

Ich würde auch gerne wissen, wie ich die ID (in diesem Fall "zgKIE60BLZY") aus der URL übernehmen kann.

Also ich habe die Datei youtube-videoinfo.php auf meinem Webspace http://www.zum-beispiel.de.

(http://www.zum-beispiel.de/youtube-videoinfo.php)

Wie kriege ich jetzt die ID aus der Adresse http://www.youtube.com/watch?v=zgKIE60BLZ?
Wenn man das Video direkt geöffnet hätte (über die Browser-URL-Leiste), könnte man ja einfach $_GET['v'] benutzen... aber wenn ich die Adresse irgendwo im Quelltext deklariere, was dann?

Ich muss auch dazu sagen, dass ich seit nem guten Jahr nichts mehr mit PHP gemacht habe, da ich als Rucksacktourist unterwegs war...


Ich würde auch gerne wissen, in wie fern man die Videos von YouTube benutzen kann - ich meine die bieten ja auch ein freies Developer-Kit an.

Wäre es rechtlich gesehen möglich, eine Seite zu bauen, auf der sich Leute - ausschließlich -ihre lieblings YouTube-Videos mitteilen und man diese dann direkt auf der Seite ansehen kann...?!

Ich sage schonmal vielen Dank für eure Hilfe ;)

Tüs

Rage
 
Z.B. so...
Code:
$url = "http://www.youtube.com/watch?v=zgKIE60BLZ";
$tmp = explode("=", $url);
$video_id = $tmp[1];
// wobei das nicht funktioniert, wenn noch andere parameter davor übergebn wurden, also http://www.youtube.com/watch?bla=bla&v=zgKIE60BLZ  ...
 
Moin Moin!

Hab mich mal mit SimpleXML auseinander gesetzt und folgendes Script übernommen/nachgebaut:

<?php
$develid = "meine dev-id";
$video = "zgKIE60BLZY";

$url = "http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=".$develid."&video_id=".$video;

$xml = new SimpleXMLElement(file_get_contents($url));

print($xml->video_details->length_seconds);
?>

Bekomme dann beim Ausführen folgenden Fehler:

Fatal error: Cannot instantiate non-existent class: simplexmlelement in /var/www/web208/html/index.php on line 7

Ok... was habe ich falsch gemacht!?
 
Welche PHP Version ist bei dir im Einsatz? ([phpf]phpinfo[/phpf] kann dir da ggf. helfen)
SimpleXML ist erst ab Version 5 verfügbar.

Ansonsten ist es möglich, dass SimpleXML nicht mitkompiliert wurde.
Dort kann dir ebenfalls o.g. Funktion helfen.
 
Moin Moin!

Da liegt das Problem! Auf dem Server läuft Version 4.4.4.

Habe so eben eine Mail an meinen Webspace-Anbieter geschrieben, in der ich auf Umstellung auf Version 5.2 bitte.

Mal sehen ob das was wird...!

Gute Nacht

Rage
 
Zurück