Hola! Estoy realizando un formulario en PHP para enviar archivos adjuntos. El formulario funciona correctamente para el envío de un solo archivo pero yo necesito que se puedan enviar hasta 3. ¿Alguna idea de cómo agregar el segundo? Lo intenté pero no he podido. Dejo mi código.
formulario.html
Código HTML:
<body>
<form method="post" action="enviar.php" enctype="multipart/form-data">
<br>
<h3>Datos de la Propiedad</h3>
<div class="form-group row">
<div class="col-md-6 margen">
<input class="form-control" type="text" id="direccion" name="direccion"
placeholder="Dirección" data-toggle="tooltip" data-placement="top">
</div>
<div class="col-md-6">
<input class="form-control" type="text" id="barrio" name="barrio"
placeholder="Barrio" data-toggle="tooltip" data-placement="top">
</div>
</div>
<div class="col-md-4">
<select class="form-control" onchange="change_country(this.value)" class="frm-field required" id="ambientes" name="ambientes"
placeholder="Ambientes" data-toggle="tooltip" data-placement="top">
<option value="null">Ambientes</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</div>
<div class="form-group row">
<div class="col-md-12">
<textarea class="form-control" rows="4" id="descripcion" name="descripcion"
placeholder="Descripción" data-toggle="tooltip" data-placement="top" title="Ingrese su mensaje"></textarea>
</div>
</div>
<br>
<h3>Fotos</h3>
<div class="form-group row">
<div class="col-md-3 margen-img">
<input class="form-control" type="file" id="archivo" name="archivo"
placeholder="Foto 1" data-toggle="tooltip" data-placement="top">
</div>
<div class="col-md-3 margen-img">
<input class="form-control" type="file" id="foto2" name="foto2"
placeholder="Foto 2" data-toggle="tooltip" data-placement="top">
</div>
<div class="col-md-3 margen-img">
<input class="form-control" type="file" id="foto3" name="foto3"
placeholder="Foto 3" data-toggle="tooltip" data-placement="top">
</div>
</div> <br>
<h3>Datos de Contacto</h3>
<div class="form-group row">
<div class="col-md-4 margen">
<input class="form-control" type="text" id="nombre" name="nombre"
placeholder="Nombre y Apellido" data-toggle="tooltip" data-placement="top">
</div>
<div class="col-md-4 margen">
<input class="form-control" type="text" id="telefono" name="telefono"
placeholder="Teléfono" data-toggle="tooltip" data-placement="top">
</div>
<div class="col-md-4">
<input class="form-control" type="text" id="email" name="email"
placeholder="E-mail" data-toggle="tooltip" data-placement="top">
</div>
</div>
<div class="form-group row">
<div class="col-md-12">
<button type="submit" class="btn btn-success btn-lg btn-block">Enviar Propiedad</button>
</div>
</div>
</form>
</div>
</div>
</body>
envio.php
Código PHP:
<?php
if(isset($_POST['email'])) {
$email_to = "[email protected]";
$email_subject = "Nueva Solicitud de Tasación Recibida";
function died($error) {
echo "Se encontró un error en el formulario enviado. ";
echo $error."<br /><br />";
die();
}
if(!isset($_POST['nombre']) ||
!isset($_POST['direccion']) ||
!isset($_POST['email']) ||
!isset($_POST['telefono']) ||
!isset($_POST['barrio']) ||
!isset($_FILES['archivo']['name'])||
!isset($_FILES['foto2']['name'])){
died('Lo sentimos, pero hubo un error(es) encontrado en el formulario que se quizo cotizar.');
}
$nombre = $_POST['nombre'];
$ruc = $_POST['direccion'];
$ambientes = $_POST['ambientes'];
$email_from = $_POST['email'];
$telefono = $_POST['telefono'];
$cargo = $_POST['barrio'];
$mensaje = $_POST['descripcion'];
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
$string_exp = "/^[A-Za-z .'-]+$/";
$nombrearchivo = $_FILES['archivo']['name'];
$archivo = $_FILES['archivo']['tmp_name'];
$archivo = file_get_contents($archivo);
$archivo = chunk_split(base64_encode($archivo));
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$CuerpoMensaje .= "Nombre: ".clean_string($nombre)."\r\n";
$CuerpoMensaje .= "Email: ".clean_string($email_from)."\r\n";
$CuerpoMensaje .= "Telefono: ".clean_string($telefono)."\r\n";
$CuerpoMensaje .= "Direccion: ".clean_string($ruc)."\r\n";
$CuerpoMensaje .= "Barrio: ".clean_string($cargo)."\r\n";
$CuerpoMensaje .= "Ambientes: ".clean_string($ambientes)."\r\n";
$CuerpoMensaje .= "Mensaje: ".clean_string($mensaje)."\r\n";
$headers = "From: XXXX <" . $email_from . ">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"=A=G=R=O=\"\r\n\r\n";
$email_message = "--=A=G=R=O=\r\n";
$email_message .= "Content-type:text/plain; charset=utf-8\r\n";
$email_message .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$email_message .= $CuerpoMensaje . "\r\n\r\n";
$email_message .= "--=A=G=R=O=\r\n";
$email_message .= "Content-Type: application/octet-stream; name=\"" . $nombrearchivo . "\"\r\n";
$email_message .= "Content-Transfer-Encoding: base64\r\n";
$email_message .= "Content-Disposition: attachment; filename=\"" . $nombrearchivo . "\"\r\n\r\n";
$email_message .= $archivo . "\r\n\r\n";
$email_message .= "--=A=G=R=O=--";
mail($email_to, $email_subject, $email_message, $headers);
}
?>
¿Alguna idea?
Muchas gracias.