Fotos php y msql

Hola de nuevo, tengo un nuevo problema que no consigo resolver.
La idea que tengo en mente es que mediante un formulario subir una imagen al servidor y que esta imagen se guarde en una carpeta y en la base de datos se guarde la localización de esa imagen para posteriormente visualizarla.
Aquí os envío lo que tengo hecho
1º. Aquí esta el formulario por el que cojo los datos
<HTML>
    <HEAD>
        <TITLE>Insertar.html</TITLE>
    </HEAD>
    <BODY>
<div align="center">
<h1>Insertar </h1>
<br>
                <FORM METHOD="POST" ACTION="s_imagen.php" enctype="multipart/form-data">
                    id_foto<br>
                    <INPUT TYPE="TEXT" NAME="id_foto"><br>
                    titulo<br>
                    <INPUT TYPE="TEXT" NAME="titulo_foto"><br>
                    comentarios<br>
                    <INPUT TYPE="TEXT" NAME="comentarios_foto"><br>
                    Foto 
                    <br>
                     <input name="foto" type="file" size="20"><br>
                    <INPUT TYPE="SUBMIT" value="Insertar">
                </FORM>
        </div>
</BODY>
</HTML>
2º  mi archivo s_imagen.php
<?php
   //Conexion con la base 
   $link = mysql_connect("localhost","root",""); 
   //selección de la base de datos con la que vamos a trabajar 
   mysql_select_db("prueba_imagenes", $link); 
   $id_foto = $_POST['id_foto']; 
   $titulo_foto = $_POST['titulo_foto']; 
   $comentarios_foto = $_POST['comentarios_foto']; 
   $archivo = $_FILES["foto"]["name"]; 
   //datos que obtengo del campo foto 
   //donde comienza a fallar
   $foto = "c:\".$_FILES["foto"]["name"]; 
   $foto_tmp = $_FILES["foto"]["tmp_name"]; 
   if(is_uploaded_file($foto_tmp)){ 
      move_uploaded_file($foto_tmp,$foto); 
   } 
//Ejecucion de la sentencia SQL 
mysql_query("insert into usuarios (id_foto,titulo_foto,comentarios_foto,enlace_foto) values ('$id_foto','$titulo_foto','$comentarios_foto','$foto')"); 
?> 
Mis dudas estan sobre todo en las lineas $foto = "c:\".$_FILES["foto"]["name"]; y   $foto_tmp = $_FILES["foto"]["tmp_name"]; que no consigo aprender que es lo que hacen.
Espero que me ayuden. Un saludo
Gracias

1 respuesta

Respuesta
1
La variable $_FILES contiene un array de datos relacionados con el archivo que has cargado, entre estos datos esta 'name' que es el nombre de archivo proporcionado por el sistema operativo sobre el que estés operando y 'tmp_name' es el nombre de archivo autogenerado y se almacena de manera temporal en el directorio indicado en el archivo php.ini o en el directorio temporal de tu sistema operativo para posteriormente hacer una copia del mismo en estas lineas:
if(is_uploaded_file($foto_tmp)){ /*Aqui carga el archivo temporal a el directorio temporal*/
      move_uploaded_file($foto_tmp,$foto); /*Aqui se mueve el archivo de el directorio temporal hacia el directorio indicado en el segundo parametro siempre y cuando haya sido cargado correctamente*/
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas