Cargar recurso por URL como en facebook

Este es un artículo muy enfocado a las personas que están en el desarrollo de software. Personas que seguro se habrán preguntado alguna vez -quizá no- cómo trabaja el código de facebook que carga un vídeo pegando únicamente la URL de éste. Pues, hace tiempo encontré una alternativa a ese mecanismo y se los quiero compartir (y de paso dejarlo para la posteridad).

cargar vídeo por urlPara lograr el efecto deseado necesitaremos usar una clase de PHP llamada autoembed que genera etiquetas de HTML para recursos de audio o vídeo localizados en una URL específica.

En el sitio complete web 2.0 comparten un aplicativo que implementa el código y funciona muy bien. En teoría se necesita de un cuadro de texto que contendrá la URL, un botón de comando para dar la orden de analizar y traer el contenido de la URL y un elemento contenedor del código HTML que genere la clase autoembed. Por cuestiones de divulgación me tome la molestia de comprimir por mi cuenta los archivos y subirlos a mi cuenta de mediafire por lo que ahora hay dos versiones posibles, la mía, o sea, la que subí al hospedaje de archivos y la propia subida del autor.

Cabe destacar que este aplicativo no sólo es para obtener vídeos de YouTube sino también vídeos de Metacafe, Vimeo, Google Video, Dailymotion e inclusive presentaciones de SlideShare.

El código que hace la magia es el siguiente:

<?php
$url = trim($_REQUEST['url']);
$url = check_url($url);

function check_url($value)
{
    $value = trim($value);
    if (get_magic_quotes_gpc()) 
    {
        $value = stripslashes($value);
    }
    $value = strtr($value, array_flip(get_html_translation_table(HTML_ENTITIES)));
    $value = strip_tags($value);
    $value = htmlspecialchars($value);
    return $value;
}

include "AutoEmbed.class.php";
$AE = new AutoEmbed();

//carga el código a incrustar de una url remota
if (!$AE->parseUrl($url)) {
    //No se encontró vídeo incrustable o soportado
    echo "Please check the video link";
} else {

$AE->setParam('wmode','transparent');
$AE->setParam('autoplay','false');
?>
<div>
<?php
echo $AE->getEmbedCode();
?>
</div>
<?php
}
?>

También se hace uso de jQuery para agregar algunas funcionalidades extra al aplicativo, aunque son descartables cuando estés trabajando con este código.

Lo único que hay que explicar es que en el código anterior, y en la demo, la caja de texto que lleva el valor ‘url’ en el atributo name es la que contendrá la URL que apunta al recurso a incrustar y ese valor es guardado en la variable $url en el código PHP.

cargar vídeo desde url

Anuncios

Autor: cesc1989

Ingeniero de Sistemas que le gusta escribir y compartir sobre recursos que considera útiles, además que le gusta leer manga y ver anime.

2 comentarios en “Cargar recurso por URL como en facebook”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s