New question

Question:

Date: 08-08-2019 10:30:31 (In Spanish)

Como hacer para al hacer DELETE no me borre la imagen default en php mysql[Resolved]

Buenas, me gustaría si me pueden ayudar, tengo un registro HTML y php y mysql, de datos y imagen.

Al registrar si no coloca una imagen el sistema le coloca de por default, hasta hay todo bien.

En donde les pido que echen una ayuda es que si elimino o delete un registro que tenga la imagen por default me borra la imagen de default.

no quiero se borre la imagen default .

espero que entiendan.

Este es el código para subir la imagen


<?php
require '../conexion.php';

if((!empty($_FILES["foto"])) && ($_FILES["foto"]['error'] == 0))
{
    if($_FILES["foto"]['type'] != 'image/jpeg' && $_FILES["fotos"]['type'] != 'image/png')
    { 
         $valido = false;
         echo "<meta http-equiv='REFRESH' content='0 ; url=toros.php'>
            <script>
                alert('Error con el archivo seleccionado. Ingrese una imagen válida');
            </script>";
    }
    else
      {
		 $foto=$_FILES["foto"]["name"];
		 $ruta=$_FILES["foto"]["tmp_name"];
		 $destino="../fotosToros/".$foto;
		 $resultado=move_uploaded_file($ruta,$destino);
      }
    }
    else
   {
        $destino = "../imagen/default.PNG";
   }



Este es el código para eliminar o delete


$registro = mysqli_query($conexion,"select foto from toros where id_toro='".$id_toro."';");
	 while ($imagen=mysqli_fetch_array($registro)) {
	 unlink("../fotosToros/".$imagen['foto']);
	}
	 $registro=mysqli_query($conexion,"select *
									FROM toros ") or
      die("Problemas en el select:".mysqli_error($conexion));
    if ($reg=mysqli_fetch_array($registro))
	{ 
    mysqli_query($conexion,"delete  
	                          FROM toros
							  WHERE id_toro='$id_toro'") or
       die(mysqli_error($conexion));

Tags: HTML - PHP Votes: 0 - Answers: 4 - Views: 8 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 09-08-2019 10:37:19 Se me ocurren dos opciones:

    1 - Antes de eliminar el archivo de la foto valida que no se trate de la imagen default
    2 - En lugar de guardar el nombre del archivo con la foto default en la fila del usuario guarda null y al momento de mostrarla verifica que si hay null se muestre la foto default
      Votes: 1 - Link answer
     
  • Date: 09-08-2019 14:10:22 con un if().

    Por ejemplo:

    if($archivoImagen != 'nopic.jpg'){
    echo 'borra la imagen';
    //codigo para borrar
    }else{
    //codigo para actualizar la foto sin unlink la foto default
    }


    así antes de proceder a borrar y unlink la imagen de la ruta específica, chequea si el archivo no es igual, si es identica pasa por alto el código.

    Para mí es mejor cuando al ingresar un nuevo campo y este viene sin foto o imagen, dejes como NULL el campo de foto, asi nunca borraras la imagen default.

    Si ese registro no tiene foto y no deseas mostrar el campo vacío haces un if dentro de <img> , por ejemplo:
    <img src="<?php if(!empty($foto)){ echo 'ruta a la foto/' . $foto; } else{ echo 'ruta a la foto default/DEFAULT.JPG'; } ?>" class="polaroid"/>


    Espero te ayude.
      Votes: 1 - Link answer
     
  • Date: 11-08-2019 15:32:26 La forma en que yo lo manejo es esta: no importa si no sube una foto al registrarse, tampoco colocas la ruta a una imagen 'default' en la base de datos. Esto implica que, si no sube una foto, el campo queda vacío. Cuando es el momento de mostrarla, entonces evalúas el contenido del campo que contiene la ruta a la foto. Si está vacío, colocas la imagen default. Si hay una ruta a alguna imagen, la utilizas. Básicamente lo que ya había dicho Joaquín más arriba.   Votes: 1 - Link answer
     
  • Date: 12-08-2019 07:07:51 Buenas, de salida darles las gracias por sus comentarios y respuestas que me ayudaron mucho.

    Joaquin tu código que enviste era lo que necesitaba gracias mil.

    
    <img src="<?php if(!empty($foto)){ echo 'ruta a la foto/' . $foto; } else{ echo 'ruta a la foto default/DEFAULT.JPG'; } ?>" class="polaroid"/>
    
    


    Y los felicito por ayudar y dar luces a los que menos sabemos pero aprendemos de ustedes, gracias.
      Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com