Foros del Web » Programando para Internet » PHP »

upload basico

Estas en el tema de upload basico en el foro de PHP en Foros del Web. hola, estoy siguiendo un manual de flash-php-mysql muy basico para adentrarme en este mundo, y uno de los ejemplos no me sale, he repasado mil ...
  #1 (permalink)  
Antiguo 14/01/2009, 17:55
Avatar de TROQUELADO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 94
Antigüedad: 16 años
Puntos: 0
upload basico

hola,

estoy siguiendo un manual de flash-php-mysql muy basico para adentrarme en este mundo, y uno de los ejemplos no me sale, he repasado mil veces el codigo y esta identico al libro.

Se trata de un archivo php (upload_jpg.php) que carga una imagen en una carpeta existente en el servidor (fotografias/). Os escribo el codigo, no es muy largo, a ver si a simple vista veis que falla o falta algo,

mil gracias.

Código PHP:
<?php

if(isset($submit)){
    if(
is_uploaded_file($_FILES['imagen']['tmp_name'])){
        if(
$_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
            
$nuevoNombre time().".jpg";
            
move_uploaded_file($_FILES['imagen']['tmp_name'],"fotografias/$nuevoNombre");
            
$data GetImageSize("fotografias/$nuevoNombre");
            echo 
"<img src='fotografias/$nuevoNombre' $data[3]> <br> imagen $nuevoNombre subida con éxito";
        }
        else {
            echo 
"Formato no valido para fichero de imagen";
        }
        
    }
    else {
            echo 
"Error al cargar la imagen: " $_FILES['imagen']['name'];
    }
    
}

?>

<form enctype="multipart/form-data" action="<? echo $PHP_SELF;?>" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    Subir esta imagen: <input name="imagen" type="file">
    <input type="submit" name="submit" value="Subir Fichero">
</form>
  #2 (permalink)  
Antiguo 14/01/2009, 20:13
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: upload basico

Código PHP:
if(isset($submit)){ 
Reemplazalo por:

Código PHP:
if(isset($_POST['submit'])){ 
  #3 (permalink)  
Antiguo 15/01/2009, 05:14
Avatar de TROQUELADO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 94
Antigüedad: 16 años
Puntos: 0
Respuesta: upload basico

gracias ronruby,

me ha servido lo que me has dado, aunque no acaba de resultar del todo. Ahora almenos me da el error del segundo else: Error al cargar la imagen...

Pense que tendria que ver con los permisos de la carpeta 'fotografias' del servidor, Le he puesto todos los permisos, el 777, que creo que es lo correcto, pero sigue sin funcionar.

mil gracias.
  #4 (permalink)  
Antiguo 15/01/2009, 09:12
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: upload basico

Imprime en el else, la variable $_FILES['imagen']['error'].

Posibles valores que devuelve esta variable:

Cita:
0 Indicates that there was no errors and file has been uploaded successfully
1 Indicates that the file exceeds the maximum file size defined in php.ini.
If you would like to change the maximum file size, you need to open your php.ini file, identify the line which reads: upload_max_filesize = 2M and change the value from 2M (2MB) to whatever you need
2 Indicates that the maximum file size defined manually, within an on page script has been exceeded
3 Indicates that file has only been uploaded partially
4 Indicates that the file hasn´t been specified (empty file field)
5 Not defined yet
6 Indicates that there´s no temporary folder
7 Indicates that the file cannot be written to the disk
  #5 (permalink)  
Antiguo 16/01/2009, 02:59
Avatar de TROQUELADO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 94
Antigüedad: 16 años
Puntos: 0
Respuesta: upload basico

gracias por tu gran ayuda ronruby!

he podido solucionarlo gracias a tus dos posts, te lo agradezco mucho a ti i a todos los que ayudais a los demas en este foro,

gracias!
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 01:12.