Foros del Web » Programando para Internet » PHP »

Como edito en base de datos e imagen en server

Estas en el tema de Como edito en base de datos e imagen en server en el foro de PHP en Foros del Web. Bueno ya estoy por aqui preguntando un poquillo otra vez. Como me acaba de dar un pantallazo el ordenador que me ha impedido mandar un ...
  #1 (permalink)  
Antiguo 21/03/2005, 18:01
 
Fecha de Ingreso: noviembre-2002
Mensajes: 59
Antigüedad: 21 años, 5 meses
Puntos: 0
Como edito en base de datos e imagen en server

Bueno ya estoy por aqui preguntando un poquillo otra vez.
Como me acaba de dar un pantallazo el ordenador que me ha impedido mandar un mensaje perfectamente redactado que tenía listo para enviar iré al grano.

Estoy haciendo un pequeño sistema de administración (PHP MySQL) para una galería de imagenes, de momento todo va bien, el problema me surge cuando quiero editar un producto en concreto. Vamos a ver cuando trato de editarlo mediante la inclusión de una imagen diferente a la existente me surge la duda de cómo puedo borrar la anterior del servidor. Vale ya se que he de hacerlo mediante unlink(), pero como compruebo que estoy subiendo una nueva imagen o bien eliminandola directamente.

El script que estoy utilizando:

Código PHP:
<?
$imgpath 
'../img/compras/';

if(isset(
$_POST['submit'])){
    
//actualizamos el registro.
    
    
if (!$imagen1) {
    
$error1 false;
    
// si hay imagen.
    
if (is_uploaded_file($_FILES['imagen1']['tmp_name'])) {
        if (
$_FILES['imagen1']['type'] == "image/jpeg" || $_FILES['imagen1']['type'] == "image/pjpeg"){
            
$foto1 time()."_1.jpg";
            
move_uploaded_file($_FILES['imagen1']['tmp_name'], $imgpath.$foto1);
        }else{
            
$error1 true;
            
$error1msg "Formato no válido para archivo de imagen";
        }
    } else {
        
$error1=true;
        
$error1msg "Error al cargar imagen: " $_FILES['imagen1']['name'];
    }
    if(
$error1){
        
$foto1 "N/Aa";
    }
    
$error2 false;
    }
    
    
    
    
    

    
$sql "UPDATE compras SET ";
    
$sql .= "nombre ='".$_POST['nombre']."',autor='$autor',foto1='".$_POST['foto1']."' ";
    
$sql .= "WHERE id= ".$_POST['id'];
    
//nos conectamos a la bd.
    
$cnx conectar();
    
$res mysql_query($sql) or die (mysql_error());

    
//cerramos la conexión.
    
mysql_close($cnx);        
    
//mensaje de exito.
    
$titulo "Registro Actualizado";
    
$mensaje "El registro ha sido Actualizado";
    
$link "<a href='imagen.php'>regresar</a>";
    include(
"mensajes_imagen.php");
    exit;
}

if(empty(
$_GET['id'])){
    
header("Location: index.php");
}
?>

Gracias anticipadas
  #2 (permalink)  
Antiguo 21/03/2005, 23:18
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
Si vas a hacer un sistema de administración, una solución q yo veo es q te hagas un formulario, q te sirva tanto para ingresar los datos, como para ver y eliminar y ver y modificar, en la DB pones un campo con el nombre imgs (por ej.) y guardas en ese campo, el path hacia la imagen (lo q te permitirá si investigas un poco realizar un preview de la misma usando GD, una librería de PHP), cuando actualices un dato, chequeas si el mismo tiene imgs (es decir $imgs != "") si la tiene empleas unlink().
Algo así me parece q tendría q andar, acuerdate q el unlink() deberá funcionar antes de ingresar los datos modificados la DB, sino borrarías la img q acabas de subir
Saludos
__________________
Dios dira que esto no es justo, pero lo sera...
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 06:42.