Cargar immagenes en php y mysql ... Urgente!

Necesito cargar fotos para un sistema de personal que estoy elaborando en mi trabajo
la verdad es que soy novat en pregrmaciona pero pues tengo que reslver este problema a como de lugar
y lo que necesito es subir una foto a mi página y moverla a una carpeta donde tendré mi catalogo de imágenes, cambiarle el nombre a mi imagen por el numero de empleado y la dirección donde se guarda la imagen guardarle en mi base de datos
después al consultar un empleado me tiene que mostrar si foto
espero me puedan ayudar es un poco urgente
espero su respuesta y de

1 respuesta

Respuesta
1
Para poder copiar la imagen, tiene que usar la función move_uploaded_file (http://ar2.php.net/manual/en/function.move-uploaded-file.php), aquí tienes un sencillo ejemplo
if($_FILES[$images[$i]]['size'] > 0){
                $filename = basename( $_FILES[$images[$i]]['name']);
                $explode = explode(".",$filename);
                $ext = $explode[sizeof($explode) - 1];
                if(in_array($ext, $alloedExt)){
                    $name = time();
                    $filename = $name.".".$ext;
                    $target_path = $targerDir . $filename;
                    if(file_exists($target_path)){
                        $number = countFiles($targerDir,$filename);
                        $filename = $name.".$number.".$ext;
                        $target_path = $targerDir . $filename;
                    }
                    if(move_uploaded_file($_FILES[$images[$i]]['tmp_name'], $target_path)) {
                            $urlId = $_POST[$urls[$i]];
                            if($numeber){
                                $filename = $name.".".$number.".thumb.".$ext;
                            }else{
                                $filename = $name.".thumb.".$ext;
                            }
                            makeThumb($target_path, $resizeWidth, $resizeHeight, $resizeScaled, $targerDir . $filename, $ext);
                            $resultUrl = mysql_fetch_array(mysql_query("SELECT url FROM links WHERE link_id = $urlId;"), MYSQL_ASSOC);
                            $url = $resultUrl['url'];
                            $insert = "INSERT INTO images(location, link) VALUES('$filename','$url');";
                            mysql_query($insert) or die(mysql_error());
                            $j++;
                        }
                    }
                }
Lan conexión a base de datos, así como el $targetDir, están seteados en un archivo config.php. y la función makeThumb, genera una vista en minitura. (Puedes comentar esa lines).
Tengo unas cuantas dudas pero si he entendido gran parte del código
- $¿targetDir en el archivo config.php ahí se igualara a la dirección donde guardare las imágenes?
- El nuevo nombre de la imagen como se pasa por url o es capturado directamente al subirla
i ver si me puedes explicar un poco las variables que manejas para estar seguro
muchas gracias por contestar mi duda
comoquiera estaré checandolo para entenderle bian
Efectivamente $targerDir es la ruta donde guardara la imagen (puede relativa o absoluta)
El nombre del archivo, en este caso, es el numero de milisegundos transcurridos desde el 01-01-1970, puedes comnetar las linea donde seteo $name y $filename (después del if)
También puede remover eta porción de código
                  if(file_exists($target_path)){
                        $number = countFiles($targerDir,$filename);
                        $filename = $name.".$number.".$ext;
                        $target_path = $targerDir . $filename;
                    }
Que lo que hace, es fijarse si ya existe el archivo, en caso de existir, devuelve un enumerador.
En el archivo config.php, también ha un array $alloedExt, donde pongo las extensiones permitidas, y eso se chequea en esta porción del código:
if(in_array($ext, $alloedExt)){

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas