Salvar caminho da imagem no banco de dados a partir do servidor

  • Autor Autor newmesis
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
N

newmesis

Beta
Usuário com poucas negociações! Use sempre o saldo do 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
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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 edição:
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.
 
Voltar
Topo