Foros del Web » Programando para Internet » PHP »

Liberia para importar media de distintas plataformas (youtube, vimeo, slideshare...)

Estas en el tema de Liberia para importar media de distintas plataformas (youtube, vimeo, slideshare...) en el foro de PHP en Foros del Web. Hola gente :) Tengo que implementar un sistema de importación de media, tu metes la url y detecta si el enlace corresponde a alguna plataforma ...
  #1 (permalink)  
Antiguo 05/08/2013, 01:18
Avatar de ivangvillar  
Fecha de Ingreso: agosto-2013
Ubicación: Valencia
Mensajes: 10
Antigüedad: 11 años, 3 meses
Puntos: 0
Liberia para importar media de distintas plataformas (youtube, vimeo, slideshare...)

Hola gente :)

Tengo que implementar un sistema de importación de media, tu metes la url y detecta si el enlace corresponde a alguna plataforma conocida (vimeo, youtube, slideshare, dropbox...)...

Me gustaría saber si conocéis de alguna librería que pueda ayudarme, puesto que entiendo que sera un problema bastante común...

Un saludo y muchas gracias
  #2 (permalink)  
Antiguo 09/08/2013, 07:44
Avatar de ivangvillar  
Fecha de Ingreso: agosto-2013
Ubicación: Valencia
Mensajes: 10
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

Y alguna libreria suelta para vimeo y slideshare?

Gracias
  #3 (permalink)  
Antiguo 09/08/2013, 08:33
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

Si solo quieres ver si una URL es de un servicio puedes usar expresiones regulares...

Código PHP:
Ver original
  1. <?php
  2. $urls = array(
  3. 'http://www.youtube.com/watch?v=xxxxxxx',
  4. 'https://vimeo.com/44760300',
  5. 'https://dl.dropboxusercontent.com/u/xxxxxxx/xxxxxxxxxxxxxxxxxx.jpg',
  6. 'http://www.google.com',
  7. 'http://www.forosdelweb.com/f18'
  8. );
  9.  
  10. foreach($urls as $url) {
  11.      if (preg_match('/http(s)?:\/\/(([a-zA-Z0-9]+).)?(youtube|vimeo|dropbox|dropboxusercontent|slideshare).(com|net)/',$url)) {
  12.           echo 'La url pertenece a youtube, vimeo o dropbox.';
  13.      }else {
  14.           echo 'La url no pertenece a youtube, vimeo o dropbox';
  15.      }
  16. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 09/08/2013, 09:38
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 9 meses
Puntos: 9
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

Que tal si obtienes el codigo de embedido de cada uno, detectas con Explode de que pagina es, y haces el embedido segun la pagina?, Aca un ejemplo

Código PHP:
Ver original
  1. <?php
  2. if ($_POST){
  3. $pagina = $_POST['pagina'];
  4. $paginaobtenida = explode(".", $pagina);
  5. if (($paginaobtenida['0'] == "www.youtube") OR ($paginaobtenida['0'] == "http://youtube") OR ($paginaobtenida['0'] == "http://www.youtube") OR ($paginaobtenida['1'] == "youtube")) {
  6. ?>
  7. <iframe width="ancho" height="alto" src="<?php echo $pagina; ?>" frameborder="0" allowfullscreen></iframe>
  8. <?php
  9. } elseif (($paginaobtenida['0'] == "www.slideshare") OR ($paginaobtenida['0'] == "http://slideshare") OR ($paginaobtenida['0'] == "http://www.slideshare") OR ($paginaobtenida['1'] == "slideshare")) {
  10. ?>
  11. <iframe src="<?php echo $pagina; ?>" width="ancho" height="alto" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="max-width:427px;border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> </iframe>
  12.  
  13. <?php
  14. } else { echo "la pagina no es youtube ni slideshare"; }
  15. echo $paginaobtenida['1'];
  16. }
  17.  
  18. ?>

y creas un "form" abajo del codigo php que esta arriba

Código HTML:
Ver original
  1. <form method="post">
  2. Introduce la URL: <input type="text" name="pagina"><br>
  3. <input type="submit" value="ver video/slide">
  4. </form>

si te da un error avisame, no lo probe

Última edición por omarinfinito; 09/08/2013 a las 09:42 Razón: edite codigo php para agregarle otra condicion de pagina
  #5 (permalink)  
Antiguo 09/08/2013, 09:48
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

Sin ofender @omarinfinito, pero tu código no funcionará al menos no como esperas ya que tu código es necesario que el primer punto (.) sea el que divide youtube del com, pero que pasa si antes del URL hay un punto?, por lo tanto no funcionará aunque contenga una url de youtube valida, por otra parte, en tu validación ($paginaobtenida['0'] == "www.youtube") no funcionará ya que al obtener el primer item obtendrías el www o lo mas probable http://www, por lo tanto esta demás...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 09/08/2013, 09:50
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 9 meses
Puntos: 9
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

@nemutagk, no me ofendes somos programadores, pero hay un
Código PHP:
Ver original
  1. OR ($paginaobtenida['1'] == "youtube")

Que dice que si hay un www. hace explode a lo que hay despues del . y si es youtube, ejecuta el youtube C:
  #7 (permalink)  
Antiguo 09/08/2013, 09:51
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 9 meses
Puntos: 9
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

Código PHP:
Ver original
  1. <?php
  2. if ($_POST){
  3. $pagina = $_POST['pagina'];
  4. $paginaobtenida = explode(".", $pagina);
  5. $youtubeid = explode("=", $pagina);
  6. if (($paginaobtenida['0'] == "www.youtube") OR ($paginaobtenida['0'] == "http://youtube") OR ($paginaobtenida['0'] == "http://www.youtube") OR ($paginaobtenida['1'] == "youtube")) {
  7. ?>
  8. <iframe width="ancho" height="alto" src="http://www.youtube.com/v/<?php echo $youtubeid['1']; ?>" frameborder="0" allowfullscreen></iframe>
  9. <?php
  10. } elseif (($paginaobtenida['0'] == "www.slideshare") OR ($paginaobtenida['0'] == "http://slideshare") OR ($paginaobtenida['0'] == "http://www.slideshare") OR ($paginaobtenida['1'] == "slideshare")) {
  11. ?>
  12. <iframe src="<?php echo $pagina; ?>" width="ancho" height="alto" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="max-width:427px;border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> </iframe>
  13.  
  14. <?php
  15. } else { echo "la pagina no es youtube ni slideshare"; }
  16. }
  17.  
  18. ?>

Lo probe y solo funciona el de youtube, no se como obtener el id del slideshare
  #8 (permalink)  
Antiguo 09/08/2013, 09:58
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

El punto es que imagina que entrega un texto como el siguiente:

Cita:
Hola que tal, solo te escribo para saludarte.
Por cierto, te envío un link de un video, chécalo.

http://www.youtube.com/watch?v=xxxxxxxx
Todo tu código no funcionará porque es necesario (obligatorio) que las posiciones san fijas, si usamos tu código explode entregará los siguientes items

0: Hola que tal, solo te escribo para saludarte
1: Por cierto, te envío un link de un video, chécalo
2: http://www
3: youtube
4: com/watch?v=xxxxxxxx

Por lo tanto todas las validaciones que haces darán false y el script tomará que el texto anterior no contiene ningún enlace de youtube..
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #9 (permalink)  
Antiguo 09/08/2013, 10:07
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 9 meses
Puntos: 9
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

No compliques todo, la idea, si no viste mi form, es dar la url
  #10 (permalink)  
Antiguo 09/08/2013, 10:09
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

Pues de hecho lo has complicado tu con tu código, el código que eh dejado es muchisimo mas simple y puede capturar la URL de los servicios sin importar en la posición en que se encuentra, tampoco importa si usan conexión segura (https) o no, si usan www o no, o incluso si usan algún otro sub-dominio...

El punto es que quiero dejar claro el alcance de tu código y lo complejo que puede ser mantenerlo o incluso peor, agregar un nuevo servicio...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #11 (permalink)  
Antiguo 09/08/2013, 15:02
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Liberia para importar media de distintas plataformas (youtube, vimeo, slid

si @omarinfinito lo que dice @Nemutagk es cierto tu codigo complica mas de lo normal y es solo para dos servicios :/ pero bueno para eso estamos para solucionar problemas :D aunque el que hizo el tema Jummm ni cuenta se ha dado ja ja ja

Etiquetas: distintas, media, plataformas, vimeo, youtube
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:40.