1.- Si subo una magen que ya existe, se reemplazan
2.- Seguridad en el tipo de archivos a subir.
Tengo el codigo actualmente asi, Codigo del archivo php que permite subir las imagenes y realiza el insert:
Código PHP:
$obj = new Avisos();
/*$obj->insertarAvisos();*/
if(isset($_POST['enviar'])){
if($_POST['titulo_aviso']== ""){
$error="Debe Ingresar Titulo para el Aviso";
}
if(isset($_FILES['fotosavisos'])){
$rutas = array('', ''); // Inicializas con dos rutas vacías
//Subida de Archivos
foreach($_FILES['fotosavisos']['tmp_name'] as $key => $nombresTemporal)
{ //Nombre del Arreglo generado con el input fotosavisos
$nombres=$_FILES['fotosavisos']['name'][$key];
//Nombre Temporal de la Imagen (Generada por el servidor)
$nombresTemporal=$_FILES['fotosavisos']['tmp_name'][$key];
//Tamaño de la Imagen
$tamaño=$_FILES['fotosavisos']['size'][$key];
//Tipo de Imagen
$tipo=$_FILES['fotosavisos']['type'][$key];
//Ruta en Servidor
$rutaFinal="../imagenes_avisos/".$nombres;
$rutaFinalSQL="imagenes_avisos/".$nombres; //VALIDAR QUE ESTA RUTA EXISTA
//Movemos los Archivos al Servidor
move_uploaded_file($nombresTemporal,$rutaFinal);
// Actualizas la ruta correspondiente para este archivo
$rutas[$key] = $rutaFinalSQL;
}//foreach
//Llamamos a la funcion Insertar $obj->insertarAvisos();
try{
$obj->insertarAvisos($rutas);
//print_r($_POST);
}catch(PDOException $e){
echo $e;
}
}
}
Código PHP:
function insertarAvisos($rutas = array('', '')){
/* echo '<pre>';
print_r($rutas);
echo '</pre>';*/
try{
$query ="INSERT INTO avisos (titulo_aviso,categoria_aviso,tipo_aviso,comuna,aviso_completo,valor_producto,fecha_publicacion,nombre,telefono_celular,telefono_fijo,correo_electronico,direccion,img1,img2,img3,img4,img5)"; //,img1,img2,img3,img4,img5
$query .="VALUES(:titulo_aviso,:categoria_aviso,:tipo_aviso,:comuna,:aviso_completo,:valor_producto,:fecha_publicacion,:nombre,:telefono_celular,:telefono_fijo,:correo_electronico,:direccion,:img1,:img2,:img3,:img4,:img5)"; //,:rutas[0],:rutas[1],:rutas[2],:rutas[3],:rutas[4]
//Preparamos la consulta
$stmt= $this->con->prepare($query);
$stmt->bindParam(':titulo_aviso',$_POST['titulo_aviso'],PDO::PARAM_STR);
$stmt->bindParam(':categoria_aviso', $_POST['categoria_aviso'] ,PDO::PARAM_STR);
$stmt->bindParam(':tipo_aviso', $_POST['tipo_aviso'] ,PDO::PARAM_STR);
$stmt->bindParam(':comuna', $_POST['comuna'],PDO::PARAM_STR);
$stmt->bindParam(':aviso_completo', $_POST['aviso_completo'],PDO::PARAM_STR);
$stmt->bindParam(':valor_producto', $_POST['valor_producto']);
//Fecha de Publicacion
$stmt->bindParam(':fecha_publicacion',date('Y-m-d', time()),PDO::PARAM_STR);
$stmt->bindParam(':nombre', $_POST['nombre'] ,PDO::PARAM_STR);
$stmt->bindParam(':telefono_celular', $_POST['telefono_celular']);
$stmt->bindParam(':telefono_fijo', $_POST['telefono_fijo']);
$stmt->bindParam(':correo_electronico', $_POST['correo_electronico'] ,PDO::PARAM_STR);
$stmt->bindParam(':direccion', $_POST['direccion'] ,PDO::PARAM_STR);
$stmt->bindParam(':img1', $rutas[0]); //, $this->rutas[0]
$stmt->bindParam(':img2' ,$rutas[1]);
$stmt->bindParam(':img3' ,$rutas[2]);
$stmt->bindParam(':img4' ,$rutas[3]);
$stmt->bindParam(':img5' ,$rutas[4]);
//Ejecutamos la Consulta
$stmt->execute();
echo "<div class='alert alert-success alert-dismissable'>";
echo "<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>";
echo "Su aviso ha Sido Publicado con Exito...Gracias por Utilizar nuestra Plataforma";
echo "</div>";
}catch(PDOException $e){
echo $e->errorInfo;
echo "<div class=\"alert alert-danger alert-dismissable\">";
echo "<button type=\"button\" class=\"close\" data-dismiss=\"danger\" aria-hidden=\"true\">×</button>";
echo "Su aviso no se ha podido Publicar...Por favor Intente mas Tarde";
echo "</div>";
}//catch
}//funcion InsertarAvisos
Agradesco desde ya su ayuda y su tiempo