Subir video en php

Tengo que realizar una página como proyecto final donde pueda subir videos y reproducirlos por medio de php... Se como se suben las imágenes a la base de datos pero no los videos ... Ojala y me puedan ayudar o.o
se que a lo mejor no es buena idea cargarla a la base de datos... Si no es así entonces como puedo subirla al servidor y relacionarla en mi base de datos...
Espero sus respuestas les dejo mi correo [email protected]

1 Respuesta

Respuesta
1
Diana, a estas alturas debes haberlo realizado, sin embargo como referencia pondré algunas indicaciones.
El subir un video u otro contenido binario tendrá que ser almacenado en un campo de tipo blob,dentro de una tabla Mysql.Podemos usar un Mediumblob que soporta hasta 16MB, sin embargo nuestro servidor podria no permitir subir mas de 2MB, verificar el valor mediante phpinfo(), en la seccion de file uplodads upload_max_filesize = 2M del archivo php.ini.
Primero creamos nuestra tabla donde almacenamos el "video"
CREATE TABLE upload (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
type VARCHAR(30) NOT NULL,
size INT NOT NULL,
content MEDIUMBLOB NOT NULL,
PRIMARY KEY(id)
);
El siguiente código recibe el contenido del formulario, le añade slashes para evitar errores al insertar en la tabla upload
if(isset(tiny_mce_markerPOST['upload']) && tiny_mce_markerFILES['userfile']['size'] > 0)
{
$fileName = tiny_mce_markerFILES['userfile']['name'];
$tmpName = tiny_mce_markerFILES['userfile']['tmp_name'];
$fileSize = tiny_mce_markerFILES['userfile']['size'];
$fileType = tiny_mce_markerFILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
//Si las comillas mágicas no están activas agrega slashes al nombre del archivo para evitar errores al momento del insert.
$fileName = addslashes($fileName);
}
$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
//asumimos que tenemos una coneccion abierta en el script
mysql_query($query) or die('Error, query failed');
Para reproducir el video que en si es una descarga de archivo podemos enviar una cabecera(modo 1) para que nuestro navegador invoque al programa adecuado en nuestra PC para que lo reproduzca o bien crear una página con un control ActiveX que contendrá el contenedor de video (modo 2)
//Pasamos el identificador del archivo a descargar, de la tabla lo obtenemos de id. Y recuperamos el contenido.
$id = GET['id'];
$query = "SELECT name, type, size, content " .
"FROM upload WHERE id = '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);
//modo 1
//======
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;
Modo 2
Generar un flujo de video, revisando los parámetros aplicables a tu caso, para no prolongar demasiado te sugiero revisar este post.
http://www.longtailvideo.com/support/forum/Setup-Problems/6523/How-to-do-PHP-streaming-#msg63984
Suerte.
Muchísimas gracias!
La verdad si me hubiera evitado muchas desveladas con tu respuesta...
Ya lo había hecho pero no me subía videos pesados
Ahora se por que
Muchas gracias...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas