Guardar ruta de imagen en base de datos desde servidor

  • Autor Autor newmesis
  • Fecha de inicio Fecha de inicio
N

newmesis

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos bueno estoy haciendo una pagina web y quiero saber como puedo subit imagenes al servidor dejarlas en la carpeta y ademas suvir la ruta d ela imagen en mi base de datos.
esto es lo que tengo

BD

tabla picture
id auto increment
name varchar 50



en name guardo la ruta d elas imagenes ejemplo esta e la carpeta imagenes quedaria imagenes/picture.jpg obiamente que esta misma se llame picture.jpg e la carpeta del servidor

bueno yo e tratado pero como no tengo muchos conocimiento no e podido lograrlo si me pudiesen echar una mano les estaria muy agradecido bueno me despido chau
 
No he comprobado el código pero debería ser algo así 😉

PHP:
<?php
$dir = "/imagenes"; //recuerda que debe tener permisos de escritura ;)
$ext = array('image/jpeg', 'image/gif', 'image/png', 'image/bmp'); //Puedes agregar más extenciones
    foreach($_FILES as $archivo) {
        $attachtmp  = $archivo['tmp_name'];
        $attachtype = $archivo['type'];
        $attachname = $archivo['name'];
        if(file_exists($attachtmp)) {
            if(is_uploaded_file($attachtmp)) {
                if(in_array($attachtype,$ext)) {
                    $ruta = move_uploaded_file($attachtmp, "$dir/$attachname");
                    mysql_query("INSERT INTO picture (name) VALUES ('$ruta')");
                } else {
                    echo "Esto no es una imagen :(";
                }
            }
        }
    }
?>

Avisa de cualquier error o si te funcioní 😛.

PD. Se me olvido mencionar que no tiene un filtro por lo que podrían subir cualquier cosa xD, alrato fixeo el bug

UPDATE: Ya solucione que solo se puedan subir imagenes de momento PNG, JPG, GIF y BMP 😉, ahora el problema es que aún el código es vulnerable yo recomiendo re-construir la imagen usando GD, así se fixea la vulnerabilidad de que la imagen pueda contener código malicioso 🙂. Si puedo lo fixeo alrato!
 
Última edición:
No he comprobado el código pero debería ser algo así 😉

PHP:
<?php
$dir = "/imagenes"; //recuerda que debe tener permisos de escritura ;)
$ext = array('image/jpeg', 'image/gif', 'image/png', 'image/bmp'); //Puedes agregar más extenciones
    foreach($_FILES as $archivo) {
        $attachtmp  = $archivo['tmp_name'];
        $attachtype = $archivo['type'];
        $attachname = $archivo['name'];
        if(file_exists($attachtmp)) {
            if(is_uploaded_file($attachtmp)) {
                if(in_array($attachtype,$ext)) {
                    $ruta = move_uploaded_file($attachtmp, "$dir/$attachname");
                    mysql_query("INSERT INTO picture (name) VALUES ('$ruta')");
                } else {
                    echo "Esto no es una imagen :(";
                }
            }
        }
    }
?>

Avisa de cualquier error o si te funcioní 😛.

PD. Se me olvido mencionar que no tiene un filtro por lo que podrían subir cualquier cosa xD, alrato fixeo el bug

UPDATE: Ya solucione que solo se puedan subir imagenes de momento PNG, JPG, GIF y BMP 😉, ahora el problema es que aún el código es vulnerable yo recomiendo re-construir la imagen usando GD, así se fixea la vulnerabilidad de que la imagen pueda contener código malicioso 🙂. Si puedo lo fixeo alrato!

muchas gracias por responder , pero no entiendo algo ese es solo el codigo que hace posible subir la imagen ahora tengo que aser un formulario?
 
muchas gracias por responder , pero no entiendo algo ese es solo el codigo que hace posible subir la imagen ahora tengo que aser un formulario?

Claro, necesitas hacer un formulario para poder subir tus imagenes.

Algo como esto te serviría:

HTML:
<form name="subirImagen" method="post" action="subirimagen.php" enctype="multipart/form-data">
   <p>
      <label for="picture">Imagen:</label>
      <input type="file" name="picture" id="picture"/>
   </p>
   <p>
      <input type="submit" name="btnSubir" value="Subir imagen"/>
   </p>
</form>

Donde subirimage.php sería el archivo php con el script que puso babyrodri.

Saludos
 
Al subir las imagenes al servidor, recuerda que la carpeta donde van a ir las imagenes, tiene que tener permisos de escritura (777)
Saludos.
 
Atrás
Arriba