Foros del Web » Programando para Internet » PHP »

Problemas al cargar archivos

Estas en el tema de Problemas al cargar archivos en el foro de PHP en Foros del Web. Hola amigos, tengo una duda y a la vez problema muy grande, les comento rápidamente, tengo un formulario el cual subo archivos a mi base ...
  #1 (permalink)  
Antiguo 04/11/2011, 16:56
Avatar de poncharelo_69  
Fecha de Ingreso: octubre-2011
Ubicación: Queretaro
Mensajes: 86
Antigüedad: 12 años, 6 meses
Puntos: 10
Problemas al cargar archivos

Hola amigos, tengo una duda y a la vez problema muy grande, les comento rápidamente, tengo un formulario el cual subo archivos a mi base de datos. Todo funciona muy bien cuando subo archivos de bajo peso como documentos de word, pdf, txt o imagenes, pero si trato de subir archivos me manda un error.

Este es mi formulario que como ven no tiene mucha ciencia (o al menos eso pienso yo )

Código HTML:
<table border="1">
    	<form action="upVideo.php" method="post" enctype="multipart/form-data">
        <tr><td><input name="archivo" type="file"/></td></tr>
        		<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
    	<tr><td>Nombre:</td><td><input type="text" name="nom_vid" id="nom_vid" /></td></tr>
        <tr><td>Descripcion:</td><td><input type="text" name="desc_vid" id="desc_vid" /></td></tr>
        <tr><td>Duracion:</td><td><input type="text" name="duracion_vid" id="duracion_vid" /></td></tr>
        <tr><td><input name="button" id="button" class="submit" type="submit" value="Enviar"/>
        		<input name="action" type="hidden" value="upload" /></td></tr>
        </form>
    </table> 
El formulario lo mando a un archivo upVideo.php que contiene lo siguiente:

Código PHP:
//Aqui va la conexion a la base de datos

$nom_vid $_POST["nom_vid"]["name"];
$desc_vid $_POST["desc_vid"]["name"];
$duracion_vid $_POST["duracion_vid"]["name"];

if (
$_POST["action"] == "upload") {
    
// obtenemos los datos del archivo
    
$tamano $_FILES["archivo"]['size'];
    
$tipo $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
    
$prefijo substr(md5(uniqid(rand())),0,6);
   
    if (
$archivo != "" || $tamano != $_POST['MAX_FILE_SIZE']) {
        
// guardamos el archivo a la carpeta files
        
$destino "archive/".$prefijo."_".$archivo;
        
//$destino = "archive/".$archivo;
        
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
            echo 
"Archivo subido: <b>".$archivo."</b>";
        } else {
            echo 
"Error al subir el archivo";
        }
    } else {
        echo 
"Error al subir archivo";
    }
}

$bd -> subirVideo($nom_vid,$desc_vid,$duracion_vid,$prefijo);
?> 
Al tratar de hacer eso me mando un error que dice:

Código:
Notice: Undefined index: nom_vid in C:\wamp\www\newProy\upVideo.php on line 15
No se porque me manda error tanto en nom_vid, desc_vid, duracion_vid, prefijo así como también cuando inserta datos a la base de datos unicamente me guarda la primer letra, es decir, en nombre le pongo "Prueba", solo guarda en bd la "P".

Espero me puedan ayudar a solucionar esto, gracias.
  #2 (permalink)  
Antiguo 04/11/2011, 17:01
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Problemas al cargar archivos

Tienes errores de sintaxis, cambia:

Código PHP:
Ver original
  1. $nom_vid = $_POST["nom_vid"]["name"];
  2. $desc_vid = $_POST["desc_vid"]["name"];
  3. $duracion_vid = $_POST["duracion_vid"]["name"];

por

Código PHP:
Ver original
  1. $nom_vid = $_POST["nom_vid"];
  2. $desc_vid = $_POST["desc_vid"];
  3. $duracion_vid = $_POST["duracion_vid"];

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 04/11/2011, 17:09
Avatar de poncharelo_69  
Fecha de Ingreso: octubre-2011
Ubicación: Queretaro
Mensajes: 86
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: Problemas al cargar archivos

Gracias Skiper, ya lo cambie pero me sigue apareciendo lo mismo en los errores:

Código:
Notice: Undefined index: nom_vid in C:\wamp\www\newProy\upVideo.php on line 15

Notice: Undefined index: desc_vid in C:\wamp\www\newProy\upVideo.php on line 16

Notice: Undefined index: duracion_vid in C:\wamp\www\newProy\upVideo.php on line 17

Notice: Undefined index: action in C:\wamp\www\newProy\upVideo.php on line 19

Notice: Undefined variable: prefijo in C:\wamp\www\newProy\upVideo.php on line 41
Y de todas maneras en la base de datos sigue almacenando pero únicamente la primera letra, no todo el texto
  #4 (permalink)  
Antiguo 04/11/2011, 17:39
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Problemas al cargar archivos

Cita:
Iniciado por poncharelo_69 Ver Mensaje
Y de todas maneras en la base de datos sigue almacenando pero únicamente la primera letra, no todo el texto
Ya cheque tu script y funciona bien, lo modifique poco, y en base alos errores en en la función subirVideo y cual es tu código de la función



Código PHP:
Ver original
  1. $nom_vid = $_POST["nom_vid"];
  2.     $desc_vid = $_POST["desc_vid"];
  3.     $duracion_vid = $_POST["duracion_vid"];
  4.    
  5.     if ($_POST["action"] == "upload") {
  6.         // obtenemos los datos del archivo
  7.         $tamano = $_FILES["archivo"]['size'];
  8.         $tipo = $_FILES["archivo"]['type'];
  9.         $archivo = $_FILES["archivo"]['name'];
  10.         $prefijo = substr(md5(uniqid(rand())),0,6);
  11.        
  12.         if ($archivo != "" || $tamano != $_POST['MAX_FILE_SIZE']) {
  13.             // guardamos el archivo a la carpeta files
  14.             echo $destino = "archive/".$prefijo."_".$archivo;
  15.             //$destino = "archive/".$archivo;
  16.             if (move_uploaded_file($_FILES['archivo']['tmp_name'],$destino)) {
  17.                 echo "Archivo subido: <b>".$archivo."</b>";
  18.             } else {
  19.                 echo "Error al subir el archivo";
  20.             }
  21.         } else {
  22.             echo "Error al subir archivo";
  23.         }
  24.     }
  25. $bd -> subirVideo($nom_vid,$desc_vid,$duracion_vid,$prefijo);
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #5 (permalink)  
Antiguo 04/11/2011, 17:54
Avatar de poncharelo_69  
Fecha de Ingreso: octubre-2011
Ubicación: Queretaro
Mensajes: 86
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: Problemas al cargar archivos

Gracias, creo que fue lo último que se me ocurrio subir, pero aqui esta mi función subirVideo

Código PHP:
public function subirVideo($nom_vid,$desc_vid,$duracion_vid,$prefijo){
        
        
$bd= new conexionbd();
        
$conexion =$bd->conect();
        
        
$sql 'INSERT INTO newproy.videos VALUES (NULL, ?,?,?,?)';
        
$cp $conexion->prepare($sql);
        
$cp->param_count;
        
        
        
$cp-> bind_param('ssis',$nom_vid,$desc_vid,$duracion_vid,$prefijo);
        echo 
$cp->execute();
    } 
Estea funcion se encuentra en un archivo llamado upload.php y esta dentro de una clase, desde donde mando a llamar a un archivo que unicamente hace la conexión a la base de datos. La el archivo con la conexión a la bd de datos dice esto:

Código PHP:
class conexionbd{
    public function 
conect(){
        
$conexion mysqli_connect("localhost""root""","newProy");
        return 
$conexion;
    }


Etiquetas: formulario, imagenes
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 10:12.