Foros del Web » Programando para Internet » PHP »

Upload imagen

Estas en el tema de Upload imagen en el foro de PHP en Foros del Web. HOla a todos! Estoy haciendo un admin en donde puede subir productos, guardando nombre,descripcion, imagen del producto. Necesitaria ayudar para comprobar si subio una imagen ...
  #1 (permalink)  
Antiguo 17/09/2011, 22:51
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Upload imagen

HOla a todos!
Estoy haciendo un admin en donde puede subir productos, guardando nombre,descripcion, imagen del producto.

Necesitaria ayudar para comprobar si subio una imagen que lo guarde en la carpeta con el id creado, sino que guarde con una imagen por default, nose como hacer bien esa comprobación.
Dejo codigo php:
Código PHP:
<?php
require_once 'includes/db_connect.php';
session_start();

if(isset(
$_SESSION['adminid']))
{
    
$adminid $_SESSION['adminid'];
    
$username $_SESSION['username'];
    
    if(!empty(
$_POST['producto_nombre']) || (!empty($_POST['producto_descripcion'])))
    {
       
$noticia_fecha date("Y-m-d");
       
$producto_nombre $_POST['producto_nombre'];
       
$producto_descripcion html_entity_decode($_POST['producto_descripcion']);
       
$sql "INSERT INTO productos (producto_nombre,producto_descripcion) VALUES
                    ('$producto_nombre', '$producto_descripcion')"
;
       
$query mysql_query($sql) or die(mysql_error());
       
$id mysql_insert_id();
       
mkdir("../image/productos/$id"0755); // creo la carpeta con el Id del producto creado
       
$img_default 'image/product_default.png';
       if (!empty(
$_FILES['tmp']['producto_imagen']))
       {
        
move_uploaded_file($_FILES["file"]["producto_imagen"], "../image/productos/$id/" $_FILES["file"]["name"]);
       }
       else
       {
        
copy("image/product_default.png","../image/productos/$id/$img_default"); // producto por defecto
       
}
       
header("Location:productos.php?agregar_producto");
    }
    else
    {
        
$error "<div class=\"box red\">
                    <p>Escribe el nombre del producto.</p>
                    <p>Escribe la descripci&oacute;n del producto.</p>
                </div>"
;
    }
   
    
$body .= '<form action="" method="post" enctype="multipart/form-data">
                    '
.$error.'
                    <div class="info">
                        <p>
                            <label for="titulo">Nombre</label> <input type="text" name="producto_nombre"/>
                        </p>
                        <p>
                            <br/>
                            <label for="notes">Descripci&oacute;n</label>&nbsp;&nbsp; <textarea name="producto_descripcion" rows="15" cols="50" class="notes">                                                                                    </textarea>
                        </p>
                        <p>
                            <label for="imagen">Imagen</label> <input type="file" name="producto_imagen"/>
                        </p>
                        
                        <p>
                            <input type="hidden" name="enviado" value="1">
                            <input type="submit" value="Agregar Producto" class="submit" />
                        </p>
                    </div>
                </form>'
;
    
$body .= '</div>';
    
$body .= '</div>';
    
$body .='</td>';
    
$body .='</tr>';
}
else
{
    
header("Location:index.php");
}

?>
Quien pueda ayudarme se los agradezco!
Muchas gracias.
Saludos!
  #2 (permalink)  
Antiguo 17/09/2011, 23:02
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Upload imagen


<saludos>
Puedes usar esto como if inicial
Código PHP:
Ver original
  1. if ($_FILES['image']['error'] == 0)
  2. {
  3. //aqui dentro lo que quieras hacer con la image
  4. }
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 17/09/2011, 23:18
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 14 años, 7 meses
Puntos: 5
Respuesta: Upload imagen

Primero que nada tienes que guardar el nombre de la imagen que subis en la base de datos, al parecer no lo estas haciendo

Código PHP:
$sql "INSERT INTO productos (producto_nombre,producto_descripcion) VALUES
                    ('$producto_nombre', '$producto_descripcion')"

Con lo de comprobar si se subio una imagen o no, podrias utilizar el codigo que colocaron

Código PHP:
if($_FILES['image']['error'] == 0){
            
// Aca colocas el codigo para subir la imagen que proporciono el usuario
           // para el producto insertado. 

}else{
            
// De lo contrario subis la imagen por defecto que has colocado en tu codigo, 
            // sin embargo tener una copia de un mismo archivo por cada directorio que vayas
           // creando al hacer insercion de registro sin imagen es una practica que te puede 
           // ocupar espacio extra en disco. Te recomiendo insertar la referencia a la imagen 
           // por defecto en el campo imagen para que no estes creando copias de este archivo una y otra vez.

Saludos.

Última edición por equality_211085; 17/09/2011 a las 23:20 Razón: Margen de comentario muy extenso corregido

Etiquetas: html, mysql, sql, upload
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 19:09.