Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2008, 09:53
Kapitan_Pirula
 
Fecha de Ingreso: junio-2004
Mensajes: 51
Antigüedad: 19 años, 9 meses
Puntos: 0
Problema con upload de imagenes

Hacia tiempo que no me ponia con php, y tenia por ahi algunos scipts ya hechos. Ahora me pongo a usarlos y ya no funcionan bien por el tema de que ahora el register_gobals esta a OFF. Asi que estoy adecuando todo a esta circustancia.

El problema que tengo que es en el tipico formulario par subir una noticia/producto con una imagen si lo hago todo desde una pagina con funciones y un swithc no sube pero si lo hago con 2 ficheros php si que funciona.

Os pongo el código

Código PHP:
<body>
<?php
function form(){
    
?>
    <form action="int_proc.php" enctype="multipart/form-data" method="POST">
    <h3 class="Estilo1"> Añadir Nuevo Producto</h3>
    <p><strong>Nombre:</strong></p>
    <p> 
      <input type="text" name="nombre">
      <br>
      <strong>Foto:</strong></p>
    <p>
      <input type="hidden" name="MAX_FILE_SIZE" value="500000">
      <input type="file" name="userfile">
      <br>
      <strong>Descripción:</strong></p>
    <p>
      <textarea name="descripcion" cols="50" rows="5"></textarea>
      <br>
      
      <input type="hidden" name="action" value="subir" />
      <br>
      <br>
      <input type="Submit" value="Enviar Datos">
      </p>
    </form>
    <p>
    <br><br><a href="productos.php">Galeria</a>
    <?php
    
}

function 
subir(){
    
$enlace mysql_connect ("xxx","xxx");
    
mysql_select_db ("xxx");
    
$foto $HTTP_POST_FILES['userfile']['name'];
    
$nueva_descripcion nl2br ($_POST[descripcion]);
    
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "img/$foto")){
       
$sentencia ="INSERT INTO galeria VALUES (NULL, '$_POST[nombre]','$nueva_descripcion','$foto' )"
       
$result mysql_query ($sentencia);
       echo 
"El archivo ha sido cargado correctamente.";
    
    }
    else{
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
    } 
    
    
?>
    <br><br><a href="int_proc.php">Volver</a> || <a href="productos.php">Galeria</a>
    <?php
    
}

switch (
$_POST['action']){
    case 
"subir":
        
subir();
    break;
    default;
        
form();
    break;
    }

?>
Este codigo no hace el upload, pero si en el action del formulario lo mando por ejemplo a un fichero php aparte que contenga el contenido de la funcion subir si que funciona...

Alguien sabe explicarme eso o si tengo algun error.

Gracias