Ir al contenido


Foto

Consulta sobre update

php mysql

  • Por favor identifícate para responder
1 respuesta en este tema

#1 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 14 julio 2016 - 11:15

Buenas comañeros, estoy viendo tutoriales de php y bueno en uno tocó hacer un CRUD con imagenes blob. En el modificar se modifica dependiendo de la imagen si hay imagen y si no pues nada. Yo pensaba en hacer el modificar haciendo que no sea necesario tener una imagen para hacer el update para tener los dos, asi si modifica la imagen pues se edita pero para tambien me gustaria que no sea necesario modificar la imagen para poder modificar el texto de 'parte'.

 

Este es el codigo original


php
  1. <?php
  2.  
  3. //conexion a la base de datos
  4. include 'class.php';
  5. $id= $_REQUEST['id'];
  6. //comprobamos si ha ocurrido un error.
  7. if ( !isset($_FILES["imagen"]) || $_FILES["imagen"]["error"] > 0){
  8.  
  9. } else {
  10. //ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
  11. //y que el tamano del archivo no exceda los 16MB
  12. $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
  13. $limite_kb = 16384;
  14.  
  15. if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){
  16.  
  17. //este es el archivo temporal
  18. $imagen_temporal = $_FILES['imagen']['tmp_name'];
  19. //este es el tipo de archivo
  20. $tipo = $_FILES['imagen']['type'];
  21. //leer el archivo temporal en binario
  22. $fp = fopen($imagen_temporal, 'r+b');
  23. $data = fread($fp, filesize($imagen_temporal));
  24. fclose($fp);
  25.  
  26. //escapar los caracteres
  27. $data = mysql_escape_string($data);
  28. $partes2=$_POST['parte'];
  29.  
  30. $resultado = @mysql_query("UPDATE filtros SET imagen='$data',tipo_imagen='$tipo',parte='$partes2' WHERE idFiltro='$id'") ;
  31.  
  32. if ($resultado){
  33. echo "el archivo ha sido copiado exitosamente";
  34. header("Location: dashboard_3.php") ;
  35. } else {
  36. echo "ocurrio un error al copiar el archivo.";
  37.  
  38. }
  39. } else {
  40. echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
  41. }
  42. }
  43.  
  44. ?>

Lo único y bueno lo que pensaba e hice fue poner la consulta del primer if(!isset... pero no funcionaba. Entonces tenia la duda a ver si alguno de uds Maestros Ninja de PHP me ayuda con una idea de como hacerle. Muchas gracias.


  • 0

#2 Bish0p

Bish0p

    Advanced Member

  • Miembros
  • PipPipPip
  • 64 mensajes
  • LocationMéxico, DF

Escrito 18 agosto 2016 - 04:01

Yo te recomiendo que no guardes las imagenes en la base de datos, mas bien sube los archivos de imagen  guardalas  en el servidor y en la base de datos guarda la ruta a la imagen.

 

Saludos


  • 0





Etiquetado también con una o más de estas palabras: php, mysql