entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

como subir foto al servidor con PHP y MySqli?

Veran tengo el diseño hecho ya, así como tambien el codigo javascript que me permite visualizar la foto antes de subirla o guardarla en el servidor,pero lo que no entiendo es como hacer ese codigo que me permita mandar la foto al servidor.ya tengo lista la pagina en la que se escribe el codigo PHP(que es lo que me hace falta),y el formulario tambien preparado.Podrian ayudarme?.He encontrado algunos en la web,pero son viejos y no utilizan Mysqli.Quizas piensen porque no he hecho nada,pero es que no se.La foto se subira desde una ventana modal(la cual ya esta funcionando).Necesito una ayudita,porfavor.

HTML

        <div id="id02" class="modal-foto">
      <div class="modal-content-foto">
     <div class="cabezera-modal">
  <span onclick="document.getElementById('id02').style.display='none'" class="closebtn-foto">×</span>
  <h2>Modal Header Foto</h2>
    </div>

<div class="container-pic">

<form id="subir-foto" action="subir-foto.php" method="POST">
<div class="img-wrapper">
  <img id="thumbnil" style="width:100%;height:100%;border-radius:50%; " src="" alt="Foto aqui.!">
    </div>
            <div class="upload">
    <input type="file" accept="image/*" onchange="showMyImage(this)" class="custom-file-input">
    <button id="btn-opc-photo" onclick="document.getElementById('id02').style.display='block'" class="w3-btn"></button>

    </div>
    <div style="height:1px;background:#e3e3e3;width:100%;" class="divider"></div>

   </form>
 <div class="w3-container jaja">

  <button type="button" id="abandono" onclick="document.getElementById('id02').style.display='none'"><i class="fa fa-ban" aria- hidden="true"></i>Cancelar</button>
  <button id="listo" type="submit" form="subir-foto" value="submit"><i class="fa fa-check-circle-o" aria-hidden="true">
    </i>Ya</button>
  </div>

   </div>
   </div>
</div>

JAVASCRIPT PARA VISUALIZAR

      <script>
     function showMyImage(fileInput) {
    var files = fileInput.files;
    for (var i = 0; i < files.length; i++) {           
        var file = files[i];
        var imageType = /image.*/;     
        if (!file.type.match(imageType)) {
            continue;
        }           
        var img=document.getElementById("thumbnil");            
        img.file = file;    
        var reader = new FileReader();
        reader.onload = (function(aImg) { 
            return function(e) { 
                aImg.src = e.target.result; 
            }; 
        })(img);
        reader.readAsDataURL(file);
    }    
  }
  </script>

3votos

carlossevi comentado

¿Te falta todo el código PHP o el que tienes no te funciona?

1voto

luis2016 comentado

Me falta el codigo

3votos

carlossevi comentado

Puedes empezar por aquí: http://lmgtfy.com/?q=php+subir+archivo

2votos

luis2016 comentado

Amigo,ya encontre un codigo funcional,pero este lo que me hace es mandar las fotos a una carpeta.Lo que quiero es que me mande la foto al registro del usuario que esta logueado.osea subo la foto y se va al campo "Fotos" del usuario actual.Es una foto de perfil.

2votos

versce123mx comentado

Yo creo que en el codigo php de la imagen, cuando la tratas, puedes darle un id, para que la puedas asociar en una Base de datos, de lo contrario tendrias que crear una carpeta para ese usuario y ahi almacenar su imagen.

1voto

luis2016 comentado

Ya logre hacer lo que queria,la foto se va a un una carpeta y tambien se va al campo del usuario logueado(quien subio la foto.)Pero tengo un incoveniente el codigo que consegui no es actualizado,y me gustaria que me ayudaran con eso.Es codigo MySql no MySqli.Ah!No le asigno un Id al foto ella se va con su nombre igual.

2 Respuestas

2votos

versce123mx Puntos1990

Yo hice esto checa lo que te sirva

if (isset($_FILES['image']) && !empty($_FILES['image']['tmp_name'])) {

            if (!is_dir("uploads")) {
                $dir = mkdir('uploads',0777,true);
            }else{
                $dir = true;
            }

            if($dir){
                $filename = time()."_".$_FILES['image']['name'];
                $muf = move_uploaded_file($_FILES['image']['tmp_name'], "uploads/".$filename);

            $image = $filename;

            if ($muf) {
                $image_upload = true;
            }else{
                $image_upload = false;
                $errors['image'] = "La imagen no se subio";
            }

          }
        }

Las imagenes se guardan con el nombre, para poder recuperarlas igual de la base de datos.

1voto

luis2016 comentado

Este es el codigo:

    <?php
    include('conexion.php');
     include('verificarid.php');
    $dir_destino = 'Imagenes/';
    $imagen_subida = $dir_destino . basename($_FILES['foto']['name']);
     //Variables del metodo POST

 if(!is_writable($dir_destino)){
echo "no tiene permisos";
   }else{
if(is_uploaded_file($_FILES['foto']['tmp_name'])){
    /*echo "Archivo ". $_FILES['foto']['name'] ." subido con éxtio.\n";
    echo "Mostrar contenido\n";
    echo $imagen_subida;*/
    if (move_uploaded_file($_FILES['foto']['tmp_name'], $imagen_subida)) 
   {
        $link = mysql_connect('localhost', $user, $password)
            or die('Uyy!!!: ' . mysql_error());
        mysql_select_db('registros') or die('No pudo selecionar la 
                  BD');
        //Creamos nuestra consulta sql
        $query="UPDATE personas SET Fotos = '$imagen_subida'  WHERE
                     ID = $Id ";

        //Ejecutamos la consutla
        mysql_query($query) or die('Error al procesar consulta: ' .
                      mysql_error());
        echo "El archivo es fue cargado exitosamente.\n";

        echo "<img src='Imagenes/". basename($imagen_subida) ."' 
                />";
    } else {
        echo "Posible ataque de carga de archivos!\n";
    }
}
      else{
    echo "Posible ataque del archivo subido: ";

}
     }
       ?>

-1voto

Noé Andrés Puntos210

puedes checar este articulo, puede que te sirva en lo que quieres hacer

http://codigotips.com/multiples-imagenes-relacionadas/

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta