begin process at 2012 05 27 18:18:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE

RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caratère Classé sous :youtube, miniatures, php Niveau :Débutant Date de création :26/03/2011 Date de mise à jour :27/03/2011 00:37:29 Vu :3 443

Auteur : tefa24600

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Le code est simple, il permet depuis une url youtube de récupérer son identifiant et de se connecter au serveur de miniatures pour en récupérer les images générées.

Source

  • <?php
  • function youtubeId($source){
  • $parsed_url = parse_url($source);
  • // deux manières de procéder (merci Google :/)
  • if (strpos($parsed_url['query'], "v=") === false) {
  • // la nouvelle, qui est placé comme un repertoire
  • $query = $parsed_url[path];
  • $debut = strpos($query, "v/")+2;
  • $temp = substr($query, $debut, strlen($query));
  • $pos = strpos($temp, "/");
  • $fin = ($pos === false)?strlen($query):$pos;
  • $youtubeId = substr($query, $debut, $fin);
  • } else {
  • // l'ancienne, avec l'id dans les paramètres
  • $query = $parsed_url[query];
  • parse_str($query, $output);
  • $youtubeId = $output['v'];
  • }
  • return $youtubeId;
  • }
  • function get_thumbs($youtubeId) {
  • echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/default.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
  • echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/1.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
  • echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/2.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
  • echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/3.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
  • }
  • $url = "http://www.youtube.com/v/aZjbxg_bm3g?fs=1&amp;hl=fr_FR";
  • $youtubeId = youtubeId($url);
  • get_thumbs($youtubeId);
  • ?>
<?php

function youtubeId($source){
	$parsed_url = parse_url($source);
	
	// deux manières de procéder (merci Google :/)
	
	if (strpos($parsed_url['query'], "v=") === false) {
		// la nouvelle, qui est placé comme un repertoire
		$query = $parsed_url[path]; 
		
		$debut = strpos($query, "v/")+2; 
		
		$temp = substr($query, $debut, strlen($query));
		$pos = strpos($temp, "/");
		$fin = ($pos === false)?strlen($query):$pos; 
		
		$youtubeId = substr($query, $debut, $fin);
		
	} else {
		// l'ancienne, avec l'id dans les paramètres
		$query = $parsed_url[query];
		parse_str($query, $output);
		
		$youtubeId =  $output['v'];
	}
	
	return $youtubeId;
}


function get_thumbs($youtubeId) {
	echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/default.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
	echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/1.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
	echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/2.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
	echo '<img class="videoThumb" src="http://i.ytimg.com/vi/'.$youtubeId.'/3.jpg" alt="Scelen Concept - Organisateur de soirées et événement" width="120" height="90" />';
}

$url = "http://www.youtube.com/v/aZjbxg_bm3g?fs=1&amp;hl=fr_FR";

$youtubeId = youtubeId($url);

get_thumbs($youtubeId);

?>

 Conclusion

Point de magie, il ne s'agit que d'un traitement d'une chaine de caractères.
J'aurai pu le faire aussi en javascript mais j'avais besoin de ces fonctions pour l'intégrer dans une classe.

Ce code permet de faire sa playlist sans passer par youtube, à voir si c'est vraiment utile :/


 Historique

27 mars 2011 00:37:29 :
correction d'une ligne. Merci à phpAnonyme

 Sources du même auteur

FONCTION RECURSIVE DE DOSSIERS

 Sources de la même categorie

ADRESSE ABSOLUE DE LA PAGE EN COURS, AVEC VARIABLES $_GET par Dariumis
Source avec Zip CLASSE D'OBJET DE RECHERCHE DE MOTS DANS DES TABLEAUX ET/OU ... par 8Tnerolf8
Source avec Zip Source avec une capture CONVERTISSEUR DE NOMBRES EN TEXTE par macruz
Source avec Zip Source avec une capture CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGE par Salva9473
LISTER DES LIENS / URLS DEPUIS UN TEXTE par gmni

 Sources en rapport avec celle ci

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM par mtrix000
REDIMENSIONNEMENT D'IMAGE PHP par JStevens
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter
EXEMPLE D'APPLICATION DE L'ALGORITHME DE DIJKSTRA EN PHP par philtr8

Commentaires et avis

Commentaire de phpAnonyme le 26/03/2011 16:00:18

1 - strpos($query, "v=") $query n'est pas définie
// C'est plutôt : strpos($parsed_url['query'], "v=")

2 - Il faut protéger tes tableaux !!
# $parsed_url[path] et d'autres...
// $parsed_url['path']

3- On peut faire plus simple et plus rapide :
//
function youtubeId($source) {

$parsed_url = parse_url($source);

if (strpos($parsed_url['query'], "v=") === false)
preg_match('{/(.*)$}', trim(strval($parsed_url['path']), '/'), $youtubeId);
else
preg_match('{\=(.*)\&(.*)$}', strval($parsed_url['query']), $youtubeId);

return $youtubeId[1];
}

Commentaire de phpAnonyme le 26/03/2011 17:53:09

Pour une gestion COMPLETE :
##
function youtubeId($source) {

$parsed_url = parse_url($source);

if($parsed_url['host']==='www.youtube.com') {
if (isset($parsed_url['query']) && strpos($parsed_url['query'], "v=") !== FALSE)
preg_match('{v=([a-z_0-9]+)}i', strval($parsed_url['query']), $youtubeId);
else
preg_match('{v/([a-z_0-9]+)}i', strval($parsed_url['path']), $youtubeId);
}
elseif($parsed_url['host']==='youtu.be')
preg_match('{/([a-z_0-9]+)}i', strval($parsed_url['path']), $youtubeId);
else
die('Unknow host');

return $youtubeId[1];
}
##

Commentaire de tefa24600 le 27/03/2011 00:46:50

Oui, j'aurai pu utiliser les expressions régulières mais comme disait un grand sage "Traiter un problème avec les expressions régulière revient à s'imposer un autre problème"

Et puis, le code est censé être compris par des débutants et je pense que les regexp en font fuir plus d'un ;)

Commentaire de LeFauve42 le 28/03/2011 12:49:07

Bonjour,

> comme disait un grand sage "Traiter un problème avec les expressions régulière revient à s'imposer un autre problème"

Sauf ton respect TEFA24600, ton grand sage m'a l'air d'un grand charlatan....

Ce n'est pas parce qu'un source est destine aux debutants que tu dois leur donner n'importe quoi.

Les expressions regulieres sont un outil parfait pour ce genre de chose, et apprendre a les maitriser permet de resoudre tres efficacement toutes sortes de problemes.

Eric

Commentaire de tefa24600 le 28/03/2011 13:25:04

@LeFauve42, je n'ai pas dit qu'il fallait éviter de les utiliser, il faut, je te cite, "apprendre a les maitriser".

J'avoue que d'un autre côté, l'expression régulière utilisée ici n'est pas des plus difficile !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème de suppression en PHP [ par lefreeman42 ] Bonjour,J'ai comme qui dirait un gros probl&#232;me, je n'arrive pas &#224; supprimer de r&#233;pertoires en PHP. Pourtant je suis cens&#233; les vide Script youtube download [ par mulx ] Bonjour, j'essaie actuellement de tester un script de téléchargement youtube trouvé sur ce site et je n'arrive qu'a le faire marcher en local ? Lorsqu PHP/MySQL page de miniatures et autre page d'affichage détaillé [ par pchappuis ] Bonjour. Je cherche à afficher la miniature correspondant à l'image de la page liée, en sachant que je peux avoir uniquement les images 2, 3, 5, 1 da Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/sites/.../public_html/demo/web/youtube.php on line 32 [ par khalidovs ] j'ai un problème j'ai installer un script php, mais ça ne marche pas, un message d'erreur s'affiche : Parse error: syntax error, unexpected T_OBJECT_ besoin d'aide sur les sessions php [ par algantilla ] Bonjour tt le monde!! je travaille actuellement sur une application dans laquelle je dois insérer dans ma base des données en provenance de plusieur Ma premiere pratique en php [ par euskey ] Bonjour, je veux faire 1 site web dynamique pour une entreprise de prestation de service artistique mais je sais pas par ou comencer; j'avoue que j'ai problem header aidez moi s'il vous plait [ par stanne02 ] bonjour a tous voila j'ais un problem avec se code voici le message d'erreurWarning: Cannot modify header information - headers already sent by (outpu Script PHP => faire connaitre a mes amis [ par med93100 ] Bonjour a tous , Voila je vois depuis longtemps que sur certain sites il y a par exemple une case ou il y est écris faire partager a mes a mis qui a p Erreur avec le code multilingue [ par ochado ] Bonjour,Je voudrais offrir l'option à mes visiteurs de choisir la langue de leur choix, en cliquant sur un drapeau. J'ai deux fichiers de langues, lan convertie php en executable [ par sbsouba ] si possible convertie le code sources php en page executable????????!!!!! sans avoir installer esay php la question si existe  une application qui con


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales