Foros del Web » Programando para Internet » PHP »

No me sube las imágenes al servidor

Estas en el tema de No me sube las imágenes al servidor en el foro de PHP en Foros del Web. Estoy creando una aplicación para que un usuario pueda generar una nota en una revista virtual. Dicha nota debe tener una foto. El tema es ...
  #1 (permalink)  
Antiguo 11/02/2009, 03:19
Avatar de lyoung  
Fecha de Ingreso: noviembre-2005
Ubicación: Montevideo, la gran capit
Mensajes: 139
Antigüedad: 18 años, 4 meses
Puntos: 0
No me sube las imágenes al servidor

Estoy creando una aplicación para que un usuario pueda generar una nota en una revista virtual.
Dicha nota debe tener una foto.
El tema es que la nota se genera correctamente, pero la foto no sube.

La aplicación funciona tomando los id de registro de la última nota y lo utiliza como nombre para el texto y la imagen.

El problema es que la imagen no sube, o no es guardada en su lugar (según lo que he leido al terminar el scritp la imagen temporal se elimina)

Aquí va el código con algunos comentarios de lo que anda y lo que no.
Código PHP:
$row_destacadamysql_fetch_assoc($destacada);
$id_dest $row_destacada['id_dest']; //Toma el nombre del archivo del texto desde la bd (anda bien)
$id_dest++;
echo 
$id_dest.'<br>';
echo 
$textos;
        
$nnota='paginas/articulos/destacada/'.$id_dest.'.txt';
$nnombre=fopen($nnota,"x+");
fwrite($nnombre,$textos);
fclose($nnombre); //el archivo se genera correctamente.
echo 'El archivo se creo con exito';

//aquí empiezan los problemas
$ruta 'paginas/articulos/destacada'.$id_dest.'.jpg';
if (
is_uploaded_file($_FILES['foto']['tmp_name'])) {
   echo 
'La foto parece que subió.'//Pero en realidad no sube nada
   
if (move_uploaded_file ($_FILES['foto']['tmp_name'], $ruta)){
        echo 
'Parece que se copió en su lugar';}//Pero no.
   
}else{echo 'Algo no andubo bien';}
                
$sql 'INSERT INTO `focolar_cnarticulos`.`destacadas` (`id_dest`, `texto_dest`, `foto_dest`) 
VALUES (NULL, \''
.$id_dest.'.txt\', \''.$id_dest.'.jpg\');';
$add_dest mysql_query($sql$cnarticulos) or die(mysql_error());
echo 
'Se ha creado una nota destacada';//El registro se genera correctamente. 
Desde ya, agradezco cualquier ayuda que puedan darme.
__________________
Todo se ve mejor si le miramos el lado positivo.
  #2 (permalink)  
Antiguo 11/02/2009, 13:51
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: No me sube las imágenes al servidor

Intenta:
Código PHP:
$ferror = array(
    
=> '',            // Todo en orden
    
=> 'El peso del archivo es mayor del permitido en la configuración del servidor.',
    
=> 'El peso del archivo es mayor del permitido en la configuración del formulario.',
    
=> 'El archivo no se recibió completo..',
    
=> 'El archivo no se pudo subir.',
    
=> 'Error desconocido subiendo el archivo.',
    
=> 'Error del servidor: No existe un directorio temporal para subir archivos.',
    
=> 'Error del servidor: Error de disco guardando el archivo subido.',
    
=> 'El archivo contiene una extensión no permitida.'
);
echo 
$ferror[$_FILES['foto']['error']]; 
__________________
- León, Guanajuato
- GV-Foto

Última edición por Triby; 11/02/2009 a las 13:53 Razón: Error ortografico.
  #3 (permalink)  
Antiguo 11/02/2009, 16:09
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No me sube las imágenes al servidor

Cuàl de todos los mensajes de informaciòn que defines en tu script, con respecto al upload de la imagen, es el que se muestra? Prueba hacer un var_dump($_FILES) para ver los datos de los archivos subidos.

  #4 (permalink)  
Antiguo 11/02/2009, 19:47
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: No me sube las imágenes al servidor

lyoung:

Podrias poner el FORM que utilizas para subir la imagen?

Ya que esta parte del codigo se ve bien ->

Cita:
$ruta = 'paginas/articulos/destacada'.$id_dest.'.jpg';
if (is_uploaded_file($_FILES['foto']['tmp_name'])) {
echo 'La foto parece que subió.'; //Pero en realidad no sube nada
if (move_uploaded_file ($_FILES['foto']['tmp_name'], $ruta)){
echo 'Parece que se copió en su lugar';}//Pero no.
}else{echo 'Algo no andubo bien';}
Saludos
Franco

P.S. Si el FORM esta en orden pon algo asi ->
$foto = $_FILES['foto']['name'];
despues un
echo "$foto";
Si aqui sale el nombre del archivo entonces se esta subiendo adecuadamente
si no pues hay problemas con el form y el pase hacia el codigo php.

P.S. Siempre debes revisar los errores ya sea visibles en el navegador o en los archivos
de errores y acceso del servidor
  #5 (permalink)  
Antiguo 11/02/2009, 22:48
Avatar de lyoung  
Fecha de Ingreso: noviembre-2005
Ubicación: Montevideo, la gran capit
Mensajes: 139
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: No me sube las imágenes al servidor

He encontrado el error.

Se que después que les cuente me van a buscar para matarme, pero agradezco a Dios por el anonimato que genera esto de Internet.

Si se fijan, veran que el script genera una ruta hacia 'paginas/articulos/destacada' y allí pretendía yo que estuviera mi imagen cuyo nombre sería simplemente un número.

Pues, la foto subía, pero en lugar de estar allí, quedaba en la carpeta artículo y su nombre era destacada6.jpg.

La razón, simplemente me faltó agregar / al final de la ruta para que la foto fuera a su lugar.

De todos modos, gracias logré encontrarlo gracias a sus aportes, ya que hice las pruebas que me recomendaron y vi que la foto subía.

El resto fue buscar donde quedaba y porqué.-

Gracias por sus aportes. Sepan disculpar un error tan tonto en un novato que no lo es tanto.
__________________
Todo se ve mejor si le miramos el lado positivo.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:52.