Foros del Web » Programando para Internet » PHP »

problema en upload a carpeta

Estas en el tema de problema en upload a carpeta en el foro de PHP en Foros del Web. Buen dia tengo el siguiente codigo para subir imagenes a una carpeta pero no me la guarda la imagen y me manda el siguiente error ...
  #1 (permalink)  
Antiguo 13/08/2013, 10:23
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
problema en upload a carpeta

Buen dia tengo el siguiente codigo para subir imagenes a una carpeta pero no me la guarda la imagen y me manda el siguiente error
Cita:
Notice: Undefined variable: destino in C:\xampp\htdocs\cds\prueba.php
podrian ayudarme porfavor, no se que puede estar mal, de antemano gracias por su ayuda.

Código PHP:
<?php 
$personal 
$_GET['id']; // Esto recoje los datos de la variable id en la url.
require("conexion.php");
$consulta mysql_query("SELECT * FROM cds  WHERE id='$personal' ORDER BY nombre ASC") or die ("Error en la consulta");

while(
$fila=mysql_fetch_array($consulta)){
$nombre $fila['nombre'];
$nombre2 $fila['nombre2'];
// se obtienen multiples párrafos variando con los datos de los distintos productos 
}

if(
$_POST){ 
// Creamos la cadena aletoria 
$str "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
$cad ""
for(
$i=0;$i<12;$i++) { 
$cad .= substr($str,rand(0,62),1); 

// Fin de la creacion de la cadena aletoria 
$tamano $_FILES 'file' ][ 'size' ]; // Leemos el tamaño del fichero 
$tamaño_max="50000000000"// Tamaño maximo permitido 
if( $tamano $tamaño_max){ // Comprovamos el tamaño  
$sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/ 
$tipo=$sep[1]; // Optenemos el tipo de imagen que es 
if($tipo == "gif" || $tipo == "jpg"  || $tipo == "jpeg"  || $tipo == "png" || $tipo == "bmp"){ // Si el tipo de imagen a subir es el mismo de los permitidos, segimos. Puedes agregar mas tipos de imagen 
$destino "informacion/personal/$nombre2/$cad.$tipo";
move_uploaded_file $_FILES 'file' ][ 'tmp_name' ], "$destino");  // Subimos el archivo 
include('post.php'); // Incluimos la plantilla 

else echo 
"el tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo desimos 

else echo 
"El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos 

?>
  #2 (permalink)  
Antiguo 13/08/2013, 10:28
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: problema en upload a carpeta

coloca
$destino = "informacion/personal/$nombre2/$cad.$tipo";
var_dump($destino);
para que veas que contiene la variable
  #3 (permalink)  
Antiguo 13/08/2013, 10:40
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: problema en upload a carpeta

lo coloque

Cita:
<?php $destino = "informacion/personal/$nombre2/$cad.$tipo";
var_dump($destino);?>
y me muestra la siguiente informacion

Cita:
Notice: Undefined variable: cad in C:\xampp\htdocs\cds\prueba.php on line 41

Notice: Undefined variable: tipo in C:\xampp\htdocs\cds\prueba.php on line 41
string(27) "informacion/personal/luis/."
  #4 (permalink)  
Antiguo 13/08/2013, 10:48
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: problema en upload a carpeta

El error dice que las variables no existen.
Eso quiere decir que el codigo en donde las asignas esta erroneo.
Usa var_dump() en las variables para que llegues al error principal.

Veo un error aqui.
if($_POST){ <---------¿para que esta este if?
// Creamos la cadena aletoria
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz1234567890";
$cad = "";
for($i=0;$i<12;$i++) {
$cad .= substr($str,rand(0,62),1);
}
  #5 (permalink)  
Antiguo 13/08/2013, 10:56
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: problema en upload a carpeta

Hola prueba este codigo hice dos cambios

Código PHP:
Ver original
  1. <?php  
  2. $personal = $_GET['id']; // Esto recoje los datos de la variable id en la url.
  3. require("conexion.php");
  4. $consulta = mysql_query("SELECT * FROM cds  WHERE id='$personal' ORDER BY nombre ASC") or die ("Error en la consulta");
  5.  
  6. while($fila=mysql_fetch_array($consulta)){
  7.     $nombre = $fila['nombre'];
  8.     $nombre2 = $fila['nombre2'];
  9.     // se obtienen multiples párrafos variando con los datos de los distintos productos  
  10. }
  11.  
  12. if(!empty($_POST) && !empty($_FILES) ){  //cambio1
  13.     // Creamos la cadena aletoria  
  14.     $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";  
  15.     $cad = "";  
  16.     for($i=0;$i<12;$i++) {  
  17.         $cad .= substr($str,rand(0,62),1);  
  18.     }  
  19.     // Fin de la creacion de la cadena aletoria  
  20.     $tamano = $_FILES [ 'file' ][ 'size' ]; // Leemos el tamaño del fichero  
  21.     $tamaño_max="50000000000"; // Tamaño maximo permitido  
  22.     if( $tamano < $tamaño_max){ // Comprovamos el tamaño  
  23.         $sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/  
  24.         $tipo=$sep[1]; // Optenemos el tipo de imagen que es  
  25.         if($tipo == "gif" || $tipo == "jpg"  || $tipo == "jpeg"  || $tipo == "png" || $tipo == "bmp"){ // Si el tipo de imagen a subir es el mismo de los permitidos, segimos. Puedes agregar mas tipos de imagen  
  26.             $destino = "informacion/personal/{$nombre2}/{$cad}.{$tipo}"; //cambio2
  27.             move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], "$destino");  // Subimos el archivo  
  28.             include('post.php'); // Incluimos la plantilla  
  29.         }  
  30.         else echo "el tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo desimos  
  31.     }  
  32.     else echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos  
  33. }  
  34. ?>

@Erick_MD9 veo que colaboras bastante en el foro, seria de gran ayuda que cuendo postees tus respuestas con codigo lo hagas con el hightlight del foro

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #6 (permalink)  
Antiguo 13/08/2013, 11:01
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: problema en upload a carpeta

Ok, intentare hacerlo.
  #7 (permalink)  
Antiguo 13/08/2013, 11:08
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: problema en upload a carpeta

gracias por su ayuda, he realizado los cambios que me mencionaron pero al momento de subir la imagen me sale este error todavia

Cita:
Notice: Undefined variable: nombre2 in C:\xampp\htdocs\cds\prueba.php on line 26
la variable nombre2 la saco de la base de datos

si la muestro con un echo
Cita:
<?php echo "$nombre2"; ?>
si aparece la informacion

saludos y gracias
  #8 (permalink)  
Antiguo 13/08/2013, 11:22
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: problema en upload a carpeta

Mmmm si sigue pasando eso ya es bastante extraño, así que haznos un favor, dinos que hace el código y que funcionalidad representa

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #9 (permalink)  
Antiguo 13/08/2013, 11:38
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: problema en upload a carpeta

pues lo que quiero hacer es en un formulario guardar una informacion de personas en la base de datos al hacerlo se crea una carpeta en el servidor con el nombre de la persona luego para cada persona lo que quiero hacer es subir una imagen a su respectiva carpeta

paso el id por el url

Cita:
$personal = $_GET['id'];
para asi en la pag de upload saco el nombre guardado en la tabla anterior que seria el nombre de la carpeta creada a la cual quiero subir la imagen

espero me haya dado a entender bien lo que quiero hacer.

saludos

Etiquetas: carpeta, mysql, select, sql, upload, variable
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 03:11.