PHP - descargar imagen en php u guardarla en base de datos mysql

 
Vista:
sin imagen de perfil

descargar imagen en php u guardarla en base de datos mysql

Publicado por Carlos (8 intervenciones) el 21/03/2018 01:45:47
-Hola a todos, quiero ver si me podrían ayudar con el siguiente caso se los agradecería mucho :

-Primero que nada quiero que me expliquen cómo hacer un archivo php que descargara una imagen (ya saben en el archivo html con el input file y todo eso) y como guardar la imagen en una base de datos mySql.

-Quisiera que me muestren solo un código pequeño de php y html osea que me mostraran la estructura del código para descargar imágenes, yo no se casi nada acerca del tema de código que descargan imágenes por eso les pido que si pueden confeccionar uno pequeño muy básico aunque sea para que yo pueda ver cómo es el tema.


-imagínense lo siguiente : Yo tengo una pagina que muestra un botón para descargar foto o "insertar foto de perfil" y que el usuario al elegirla de su navegador la foto se muestre en la pantalla y se guarde en la base de datos.


-Les agradecería mucho su colaboración

-Atte Carlos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de jose carlos
Val: 134
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

descargar imagen en php u guardarla en base de datos mysql

Publicado por jose carlos (48 intervenciones) el 21/03/2018 21:04:05
Hola carlos.

No comprendo exactamente lo que necesitas , con eso de descargar

Me imagino que solamente lo que quieres es que el php
tenga un boton
Donde puedeas seleccionar la foto y depues guardar y que eso guarde en base de datos


Primeramente necesitas crear tu base de datos y tu tabla ya que tengas eso crea un
id int primary key
y imagen BLOB para poder guardar la imagen
ya que tengas todo eso



formulario.html

1
2
3
4
5
<form action="almacenar.php" method="POST" enctype="multipart/form-data">
    <label for="imagen">Imagen:</label>
    <input type="file" name="imagen" id="imagen" />
    <input type="submit" name="subir" value="Subir Imagen"/>
</form>



almacenar.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
// Conexion a la base de datos
mysql_connect("servidor", "usuario", "contrasena") or die(mysql_error());
mysql_select_db("base_de_datos") or die(mysql_error());
 
// Comprobamos si ha ocurrido un error.
if (!isset($_FILES["imagen"]) || $_FILES["imagen"]["error"] > 0)
{
    echo "Ha ocurrido un error.";
}
else
{
    // Verificamos si el tipo de archivo es un tipo de imagen permitido.
    // y que el tamaño del archivo no exceda los 16MB
    $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
    $limite_kb = 16384;
 
    if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024)
    {
 
        // Archivo temporal
        $imagen_temporal = $_FILES['imagen']['tmp_name'];
 
        // Tipo de archivo
        $tipo = $_FILES['imagen']['type'];
 
        // Leemos el contenido del archivo temporal en binario.
        $fp = fopen($imagen_temporal, 'r+b');
        $data = fread($fp, filesize($imagen_temporal));
        fclose($fp);
 
        //Podríamos utilizar también la siguiente instrucción en lugar de las 3 anteriores.
        // $data=file_get_contents($imagen_temporal);
 
        // Escapamos los caracteres para que se puedan almacenar en la base de datos correctamente.
        $data = mysql_escape_string($data);
 
        // Insertamos en la base de datos.
        $resultado = @mysql_query("INSERT INTO imagenes (imagen, tipo_imagen) VALUES ('$data', '$tipo')");
 
        if ($resultado)
        {
            echo "El archivo ha sido copiado exitosamente.";
        }
        else
        {
            echo "Ocurrió algun error al copiar el archivo.";
        }
    }
    else
    {
        echo "Formato de archivo no permitido o excede el tamaño límite de $limite_kb Kbytes.";
    }
}
?>


si te marca error con el mysql
intenta hacerlo con el mysqli
aqui te dejo un ejemplo

esto solo es eliminar como ejemplo
1
2
3
4
5
6
7
8
9
10
11
<?php
 
     $consulta = "DELETE FROM usuarios WHERE id_usuario='$n1'";
          if($mysqli->query($consulta))
        		{
            		echo "Datos Eliminados";
                ob_start();
                header("url = practica12.php");
                ob_end_flush();
        		}
      ?>
ojala que te ayude dame un punto :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar