Problema con imágenes PHP

Primero gracias de antemano por leer nuestras consultas y ayudarnos.
Bien, mi problema es que necesito tomar unas fotos desde mi formulario HTML para guardarla en una ubicación de mi servidor local y como manejo la página con MySql allí tengo un campo "foto1", "foto2" donde guardare el nombre que voy a dar a imagen.
No se donde esta el problema, en mi formulario tengo:
<FORM METHOD="GET" name="registro" onSubmit = "return validar(this)" ACTION="alta_inmueble1.php" enctype="multipart/form-data">
. . .
<tr>
<div class="adminform_row_contact">
<td><label class="adminleft">Imagenes: </label></td>
<td><input type="hidden" name="MAX_FILE_SIZE" value="100000"> </td>
<td><input name="file" type="file" class="form_input_contact"/>
        </td>
</div>
</tr>
***************************************************************
en donde recibo este formulario "alta_inmueble1.php", tengo:
<?php
include("utiles_php.php");
$link=conectar();
.......
$foto=$cod_inm."_1";
$carpeta = 'C:\AppServ\www\inmobiliaria\images';
//datos del arhivo
$nombre_archivo = $_FILES['file']['name'];
$tipo_archivo = $_FILES['file']['type'];
$tamano_archivo = $_FILES['file']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
    echo "La extensión o el tamaño de los archivos no es correcta. <br><br>
<table>
<tr>
<td>
<li>Se permiten archivos .gif o .jpg<br>
<li>se permiten archivos de 100 Kb máximo.</td>
</tr>
</table>
";
}else{
    if (move_uploaded_file($_FILES['file']['tmp_name'], $carpeta. $_FILES['file']['$foto'])){
       echo "El archivo ha sido cargado correctamente.";
    }else{
       echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}
mysql_query("insert into inmueble (cod_inm,cod_p,tipo_cod_prop,sup_tot,sup_cub,anti,precio,direc,ubic,cod_dpto,cod_ac,alta,coment,habitacion,descripcion,foto1) values('$cod_inm','$cod_p','$tipo_cod_prop','$sup_tot','$sup_cub','$anti','$precio','$direc','$ubic','$cod_dpto','$cod_ac','$alta','$coment','$habitacion','$descripcion','".$_FILES['file'].$foto."')",$link);
?>
Bueno, este código lo tengo en una página de inmuebles y es por ello que necesito poder subir imágenes pero no tengo mucha idea de como hacerlo. Puse en negrita en donde creo que puede estar el problema.
puse      $nombre_archivo = $_FILES['file']['name'];
              $tipo_archivo = $_FILES['file']['type'];
              $tamano_archivo = $_FILES['file']['size'];
Porque así lo vi en un tutorial que estuve mirando pero realmente no veo para que me sirve por las dudas lo deje así

1 Respuesta

Respuesta
1
La subida de imágenes o archivos de contenido binario a mysql es de cuidado, te sugiero primero que lo manejes subiendo el archivo de imagen en una carpeta en tu servidor, y que en la tabla guardes la RUTA, no la imagen, por ej, en el campo foto guardes
'/var/www/html/imagenes/foto1.gif'
La otra opción, es que uses tipo de datos blob, revisa este enlace, indica como hacerlo de manera muy sencilla:
http://www.programacion.com/php/articulo/datos_blob/
Hola, si, lo que quiero hacer es guardar la imagen a una carpeta en mi servidor y lo que quiero guardar en la tabla de la BD en el campo foto es solo el nombre por ej: 1_3 (este nombre seria así porque es la tercera foto del inmueble 1).
¿Vos me recomendás que el campo foto en la tabla sea del tipo blod? Ok, ya lo investigo bien. ¿Pero para ir descartando la manera en como tomo los datos desde el formulario HTML esta bien? , y esto ..(move_uploaded_file($_FILES['file']['tmp_name'], $carpeta. $_FILES['file']['$foto']))...?.
Gracias
hm no.. no te confundas. Te di dos opciones, la primera era subir la imagen directamente a la tabla mysql. La segunda opción, que es la que escogiste es subir la imagen a un archivo dentro de un directorio del servidor y guardar solamente la ruta y nombre del archivo en la tabla. Lo que debes hacer es subirla con move_uploades_files a la carpeta especifica en el servidor y después guardar el nombre en la tabla algo como:
//directorio destino
$ruta_destino=''/var/www/html/imagenes_cargadas/";
$archivo_dest="$ruta_destino" . $_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'] , $archivo_dest);
mysql_query("insert into inmueble (..., foto1,...)
values (...., $archivo_dest, ....) " );

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas