Copiar o guardar imágenes en una carpeta desdephp

Necesito hacer un catalogo de imágenes de el personal que labora conmigo solo que no quiero guaradr las imágenes en mi bd
Lo que necesito es como copiar o maver la imagena una carpeta y cambiarle el nombre y en mi bd solo guardar la dirección donde se encuentra la imagen para mostrarla después

1 respuesta

Respuesta
1
Este es el código:
if($_FILES['imagen']['size'] > 0){
                $filename = basename( $_FILES['imagen']['name']);
                $explode = explode(".",$filename);
                $ext = $explode[sizeof($explode) - 1];
                if(in_array($ext, $allowedExt)){
                    $target_path = $targerDir . $filename;
                    if(move_uploaded_file($_FILES['imagen']['tmp_name'], $target_path)) {
                            $insert = "INSERT INTO imagenes(location) VALUES('$filename');";
                            mysql_query($insert) or die(mysql_error());
                        }
                    }
                }
Y recuerda que el form debe contener enctype="multipart/form-data"
Gracias de antemando por tu respuesta Marcelo
Solo una duda más
Como le haría para mostrar la imagen desde la dirección que esta en la based e datos con la referencia del nombre que le puse
Me olvide de setear el $targetDir (lo tengo un archivo config externo, donde también está seteada la conexión a base de datos).
Cuando imprimes el tag img, simplemente le agregas el diretorio base, y luego la dirección de la imagen.
No sé si me expliqué bien.
Oye no entiendo lo de setear setear el $targetDi y eso
la verdad es que soy novato pa esto jaja
ai te encargo que me expliques por favor muchas gracias por tu tiempo
Es muy simple, es el directorio donde estará alojada la imagen, puede ser absoluto o relativo (te aconsejo que sea reactivo)
 por lo que pdrías poner $targetDir = "./imagenes/"
 luego cuando impremes la imagen simplemente le das src="$targetDir.$filename"
Siendo $filename el nombre que traes de la db.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas