Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error al subir archivo de video mediante script en php

Estas en el tema de Error al subir archivo de video mediante script en php en el foro de PHP en Foros del Web. Hola buenos días, Tengo hecho un script en php que lo que hace es subir un archivo de video al servidor an tes lo tenia ...
  #1 (permalink)  
Antiguo 25/07/2015, 06:51
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Error al subir archivo de video mediante script en php

Hola buenos días,

Tengo hecho un script en php que lo que hace es subir un archivo de video al servidor an tes lo tenia en 1and1 y me funcionaba perfectamente, ahora lo he pasado a un servidor en digitalocean y a la hora de subir un video hago una comprobacion en el codigo para ver si ha ocurrido algun error y me dice que ha ocurrido un error, lo interesante es que es el mismo codigo que tego en 1 and.

Un saludo y gracias.

<?php
$str_nombrev =trim($_POST['tx_nombrev']);
$str_descripcion =trim($_POST['tx_descripcion']);



?>
<?php
//Este archivo es la pantalla que el usuario ve si se logueo correctamente, nada mas como ejemplo he creado una muy sencilla. Cuando el usuario accede a esta pagina web se supone que ya paso por la pantalla de login y sus datos fueron verificados en la BD.

//Inicializar una sesion de PHP
session_start();

//Validar que el usuario este logueado y exista un UID
if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
{
//En caso de que el usuario no este autenticado, crear un formulario y redireccionar a la
//pantalla de login, enviando un codigo de error
?>
<form name="formulario" method="post" action="index.php">
<input type="hidden" name="msg_error" value="2">
</form>
<script type="text/javascript">
document.formulario.submit();
</script>
<?php
}
?>


<?php

//Conectar BD
include("conectar_bd.php");
conectar_bd();

//Sacar datos del usuario que ha iniciado sesion
$sql = "SELECT tx_nombre,tx_apellidoPaterno,tx_TipoUsuario,id_usu ario,tx_username
FROM tbl_users
LEFT JOIN ctg_tiposusuario
ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
WHERE id_usuario = '".$_SESSION['uid']."'";
$result =mysql_query($sql);

$nombreUsuario = "";

//Formar el nombre completo del usuario
if( $fila = mysql_fetch_array($result) )
$nombreUsuario = $fila['tx_username']." ".$fila['tx_apellidoPaterno'];


//Formar el query para el insert del video
$queryInsert="INSERT INTO tblsvideo (
tx_nombrev,
tx_descripcion,
tx_username,
id_usuario)
VALUES(
'".$str_nombrev."',
'".$str_descripcion."',
'".$nombreUsuario."',
'".$_SESSION['uid']."')";

mysql_query($queryInsert,$conexio) or die(mysql_error());

//comprobamos si ha ocurrido un error.
if ($_FILES["tx_archivo"]["error"] > 0){
echo "ha ocurrido un error";
} else {
//ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
//y que el tamano del archivo no exceda los 100kb
$permitidos = array("video/mp4");
$limite_kb = 38560560;

if (in_array($_FILES['tx_archivo']['type'], $permitidos) && $_FILES['tx_archivo']['size'] <= $limite_kb * 10240000){
//esta es la ruta donde copiaremos la imagen
//recuerden que deben crear un directorio con este mismo nombre
//en el mismo lugar donde se encuentra el archivo subir.php
$ruta = "img_users/" . $_FILES['tx_archivo']['name'];
//comprobamos si este archivo existe para no volverlo a copiar.
//pero si quieren pueden obviar esto si no es necesario.
//o pueden darle otro nombre para que no sobreescriba el actual.
if (!file_exists($ruta)){
//aqui movemos el archivo desde la ruta temporal a nuestra ruta
//usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo
//almacenara true o false
$resultado = @move_uploaded_file($_FILES["tx_archivo"]["tmp_name"], $ruta);
if ($resultado){
$nombre = $_FILES['tx_archivo']['name'];
@mysql_query("UPDATE tblvideo
SET tx_archivo='".$nombre."'
WHERE id_usuario = '".$_SESSION['uid']."'") ;
echo "el archivo ha sido movido exitosamente";
} else {
echo "ocurrió un error al mover el archivo.";
}
} else {
echo $_FILES['tx_archivo']['name'] . ", este archivo existe";
}
} else {
echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
}
}



//Cerrrar conexion a la BD
mysql_close($conexio);

?>
  #2 (permalink)  
Antiguo 25/07/2015, 08:21
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Error al subir archivo de video mediante script en php

Primero que todo coloca siempre los códigos dentre de las etiquetas CODE o HIGHLIGHT para que sea más ordenado leerlo. Y segundo, cuál es el error que te da?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 25/07/2015, 08:43
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Error al subir archivo de video mediante script en php

El problema es que se queda en esta parte del código.
Código PHP:
Ver original
  1. //comprobamos si ha ocurrido un error.
  2. if ($_FILES["tx_archivo"]["error"] > 0){
  3. echo "ha ocurrido un error";
  #4 (permalink)  
Antiguo 25/07/2015, 08:48
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Error al subir archivo de video mediante script en php

Coloca esto:

Código PHP:
Ver original
  1. if ($_FILES["tx_archivo"]["error"] > 0){
  2. echo $_FILES["tx_archivo"]["error"];

Para que sepas qué número de error es y de acuerdo a eso miras aquí a qué corresponde:

Errores File
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #5 (permalink)  
Antiguo 25/07/2015, 09:03
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Error al subir archivo de video mediante script en php

Gracias el error que me sale es "1"
  #6 (permalink)  
Antiguo 25/07/2015, 09:07
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Error al subir archivo de video mediante script en php

y que tendria que tocar en el arvico php.ini, el archivo contiene esto:

Código sdsa:
Ver original
  1. [PHP]
  2.  
  3. ;;;;;;;;;;;;;;;;;;;
  4. ; About php.ini   ;
  5. ;;;;;;;;;;;;;;;;;;;
  6. ; PHP's initialization file, generally called php.ini, is responsible for
  7. ; configuring many of the aspects of PHP's behavior.
  8.  
  9. ; PHP attempts to find and load this configuration from a number of locations.
  10. ; The following is a summary of its search order:
  11. ; 1. SAPI module specific location.
  12. ; 2. The PHPRC environment variable. (As of PHP 5.2.0)
  13. ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
  14. ; 4. Current working directory (except CLI)
  15. ; 5. The web server's directory (for SAPI modules), or directory of PHP
  16. ; (otherwise in Windows)
  17. ; 6. The directory from the --with-config-file-path compile time option, or the
  18. ; Windows directory (C:\windows or C:\winnt)
  19. ; See the PHP docs for more specific information.
  20. ; http://php.net/configuration.file
  21.  
  22. ; The syntax of the file is extremely simple.  Whitespace and lines
  23. ; beginning with a semicolon are silently ignored (as you probably guessed).
  24. ; Section headers (e.g. [Foo]) are also silently ignored, even though
  25. ; they might mean something in the future.
  26.  
  27. ; Directives following the section heading [PATH=/www/mysite] only
  28. ; apply to PHP files in the /www/mysite directory.  Directives
  29. ; following the section heading [HOST=www.example.com] only apply to
  30. ; PHP files served from www.example.com.  Directives set in these
  31. ; special sections cannot be overridden by user-defined INI files or
  32. ; at runtime. Currently, [PATH=] and [HOST=] sections only work under
  33. ; CGI/FastCGI.
  34. ; http://php.net/ini.sections
  35.  
  36. ; Directives are specified using the following syntax:
  37. ; directive = value
  38. ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
  39. ; Directives are variables used to configure PHP or PHP extensions.
  40. ; There is no name validation.  If PHP can't find an expected
  41. ; directive because it is not set or is mistyped, a default value will be used.
  #7 (permalink)  
Antiguo 25/07/2015, 09:19
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Error al subir archivo de video mediante script en php

Antes de eso tendrías que ver una cosa. Tu página va a estar alojada en un servidor propio? o en un servidor web. Porque si es en un servidor web no vas a poder modificar el archivo php.ini por lo tanto el único remedio que tienes es disminuir el tamaño del archivo que quieres enviar o subirlo por otro método como ftp p ej.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #8 (permalink)  
Antiguo 25/07/2015, 09:31
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Error al subir archivo de video mediante script en php

es un servidor propio contratado en digitalocean he accedido al archivo php.ini y he modificado el upload_max_filesize con 1024M pero me sigue arrojando el mismo valor 1
  #9 (permalink)  
Antiguo 25/07/2015, 09:35
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Error al subir archivo de video mediante script en php

Intenta subir un archivo pequeño para ver si así funciona bien.

Edito: en una página leí que se deben cambiar estos dos valores en el php.ini:

Código PHP:
Ver original
  1. upload_max_filesize = 10M
  2. post_max_size = 10M
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Última edición por chronos682; 25/07/2015 a las 09:42
  #10 (permalink)  
Antiguo 25/07/2015, 09:51
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Error al subir archivo de video mediante script en php

si tengo esos dos valores cambia a 32M los dos y estoy subiendo un video que ocupa 6 m y no me deja
  #11 (permalink)  
Antiguo 25/07/2015, 09:51
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Error al subir archivo de video mediante script en php

Puedes intentarlo mediante apache en htaccess....
Código Apache:
Ver original
  1. #set max upload file size
  2. php_value upload_max_filesize 500M
  3. #set max post size
  4. php_value post_max_size 500M
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #12 (permalink)  
Antiguo 25/07/2015, 10:02
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Error al subir archivo de video mediante script en php

ya esta muchas gracias habia que modificar otro archivo, estos son sonse se encuentra el archivo php.ini que hay que modificar.

root@server:~# nano /etc/php5/apache2/php.ini
root@server:~# nano /etc/php5/cli/php.ini

Etiquetas: formulario, mediante, mysql, select, sql, variable, video
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 00:49.