PHP - Subir archivos audio/video con PHP

 
Vista:

Subir archivos audio/video con PHP

Publicado por Helder Martins (2 intervenciones) el 01/03/2006 20:50:04
Saludos, quiero subir un archivo de audio y uno de video a través de una interfaz en PHP diseñada por mí mismo.

Actualmente, ya hice la programación para subir archivos de imágenes (JPEG) y funciona perfecto, sin embargo tengo problemas con los de audio y video pues, cuando trato de hacerlo el navegador pareciera estar subiendo el archivo y al cabo de 10 segundos aproximadamente pareciera haber subido normalmente el archivo, sin embargo no es así.

Adjunto mis códigos fuentes (que se encuentran separados en 2 archivos de php distintos por tipo de archivo <audio y video>) e cinluyo ambos archivos en el código que contiene el form donde se adjunta la ruta local donde se encuentran:

Para el video:

[CODE]
<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//Maximum file size. You may increase or decrease.
$MAX_SIZE = 5000000;

//Allowable file Mime Types. Add more mime types if you want
$FILE_MIMES = array('video/mpeg mpeg mpg mpe');

//Allowable file ext. names. you may add more extension names.
$FILE_EXTS = array('.mpg', '.MPG', '.mpeg', '.MPEG', '.mpe', '.MPE');

//Allow file delete? no, if only allow upload only
$DELETABLE = true;

/************************************************************
* Setup variables
************************************************************/

$file_type_video = $_FILES['userfile_video']['type'];
$file_name_video = $_FILES['userfile_video']['name'];
$file_ext_video = strtolower(substr($file_name_video,strrpos($file_name_video,".")));
$uploadDir_video = "pics/";
$uploadFile_video = $uploadDir_video . $file_name_video;

if ($_FILES['userfile_video']['size'] <= $MAX_SIZE) {
move_uploaded_file($_FILES['userfile_video']['tmp_vid_name'], $uploadFile_video);} else {?>
<script language="javascript">
alert('El video es demasiado grande, debe reducir su tamaño');
</script> <?php
} ?>
[/CODE]

Para el audio:

[CODE]
<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//Maximum file size. You may increase or decrease.
$MAX_SIZE = 1000000;

//Allowable file Mime Types. Add more mime types if you want
$FILE_MIMES = array('audio/mpeg mpga mp2 mp3');

//Allowable file ext. names. you may add more extension names.
$FILE_EXTS = array('.mp3','.MP3');

//Allow file delete? no, if only allow upload only
$DELETABLE = true;

/************************************************************
* Setup variables
************************************************************/

$file_type_sound = $_FILES['userfile_sound']['type'];
$file_name_sound = $_FILES['userfile_sound']['name'];
$file_ext_sound = strtolower(substr($file_name_sound,strrpos($file_name_sound,".")));
$uploadDir_sound = "sounds/";
$uploadFile_sound = $uploadDir_sound . $file_name_sound;

if ($_FILES['userfile_sound']['size'] <= $MAX_SIZE) {
move_uploaded_file($_FILES['userfile_sound']['tmp_sound_name'], $uploadFile_sound);} else {?>
<script language="javascript">
alert('El archivo de audio es demasiado grande, debe reducir su tamaño');
</script> <?php
} ?>
[/CODE]

Agradezco toda la ayuda que me puedan prestar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

no interesa que tipo de fichero sea

Publicado por xxx (39 intervenciones) el 01/03/2006 23:41:38
hola.
a php no le interesa si subes fotos, videos, o una carta de amor.
es un fichero, y ya

puede ser que te excedas en el peso maximo del fichero.
veo que tienes algo ahi que has creado una variable. pero tu le estas diciendo que sean 5 MEGAS, bueno. te comento que por defecto en php son 2. y ahi lo que va a mandar van a ser la configuracion de php. y no lo que hagas despues con tu variable $MAX_SIZE

asi que lo que te recomiendo. es que investigues (se como hacer, pero no te lo quiero dar todo en bandeja) es que :
- cambies el valor de la configuracion de php : upload_max_filesize a 5M
- agregues el un input hidden, MAX_FILE_SIZE con su valor correspondiente (esto creo que no es un standard en HTML, pero los navegadores lo usan, no me preguntes cual --lo aprendi leyendo el manual de php). esto evita que la person tenga que subir todo el fichero para darse cuenta que es demasiado grande

lectura recomendada:
http://es.php.net/features.file-upload

intentalo, y dime como te va.

truco.

haz un print_r($_FILES['userfile_video']['error'])
para ver que errores te dá

espero tu respuesta.
xxx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no interesa que tipo de fichero sea

Publicado por Helder Martins (2 intervenciones) el 02/03/2006 03:09:31
Ok, gracias por tu respuesta, probaré detallando los errores. Sin embargo, te comento que lo que me dices sobre cómo cambiar el default de php (en servidor) del máximo de megas a subir ya lo había leído con anterioridad....sin embargo, yo no estoy a cargo (ni puedo estarlo aunque quiera) de la configuración del servidor pues, estoy trabajando en un servidor arrendado (servicio de hosting) por lo que, no puedo cambiar las variables de configuración del server apache/php.

De cualquier manera, tu ayuda es bien recibida y estaré probando a ver qué tal me va y te comentaré. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

si puedes cambiarla

Publicado por xxx (39 intervenciones) el 02/03/2006 03:57:31
esa en particular si puedes cambiarla desde .httaccess si corres apache
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

si puedes cambiarla

Publicado por percy avila (1 intervención) el 26/07/2015 19:07:05
hola amigo si bueno te puedo dar dos consejos que te ayudaran:
1 si estas trabajando en tu servidor local solo tienes que configurar algunos comando de php.ini algunas líneas de código para subir archivos mas pesados.y se soluciona busca en google como modificar php ini para subir archivos mas pesados

2 ese código que estas trabajndo no te sirve si quieres trabajar en un servidor en la web en un host remoto tienes que codificar un cliente FTP con código php PARA QUE LA TRASFERENCIA SEA MAS RAPIDA

SALUDOS COORDIALES..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no interesa que tipo de fichero sea

Publicado por jonathan (2 intervenciones) el 13/07/2016 02:40:44
jajaja me gusto eso de que "A php no le importa si subes, imagen, audio o cartas de amor"... Este es el primer foro en el que me meto para manejar la subida de audio y creo que con tu frase, entendi de una jeje... saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar