Php 如何从同一表单发送两个文件类型输入?
问候第一个文件类型输入,如果发送正确,但第二个我不知道如何发送,我希望我附上HTML和PHP代码,以便您可以观察它,并可以给我一个正确的意见,如何这样做发送两种类型的输入文件并到达邮件 FORM.HTMLPhp 如何从同一表单发送两个文件类型输入?,php,html,forms,file,input,Php,Html,Forms,File,Input,问候第一个文件类型输入,如果发送正确,但第二个我不知道如何发送,我希望我附上HTML和PHP代码,以便您可以观察它,并可以给我一个正确的意见,如何这样做发送两种类型的输入文件并到达邮件 FORM.HTML <form action="envio.php" id="formulario" method="post" enctype="multipart/form-data"> <fie
<form action="envio.php" id="formulario" method="post" enctype="multipart/form-data">
<fieldset>
<h2 class="titulo">Envío de documentos</h2>
<h3 class="subtitulo">
Todos los campos marcados con (*) son obligatorios
si no los llenas no podrás enviar el formulario.
</h3>
<input type="text" id="idd" name="idd" hidden>
<p>N° Documento</p>
<input
type="text"
name="idDocumento"
id="idDocumento"
style="background-color: #dfdfdf;"
readonly='readonly'
/>
<p>(*) Nombres:</p>
<p id="p_nombre"></p>
<input
type="text"
name="nombres"
placeholder="Ej. David Alexander"
required
/>
<p>(*) Apellidos:</p>
<p id="p_apellidos"></p>
<input
type="text"
name="apellidos"
placeholder="Ej. Banda Llanganate"
required
/>
<p>(*) Cédula:<div id="salida"></div></p>
<p id="p_cedula"></p>
<input
type="text"
name="cedula"
placeholder="Ej. 050xxxxxxx"
id="ced"
onchange="validarCed()"
required
/>
<p>(*) Cantón:</p>
<div class="form-group">
<select name="Canton" id="Canton" data-placeholder="- Seleccione un cantón -"
class="form-control chosenCanton" onchange="change(this.id, 'parroquia')"
value="<%= typeof Canton != 'undefined' ? Canton : '' %>" required>
<option value=""></option>
<option value="La Mana">La Maná</option>
<option value="Latacunga">Latacunga</option>
<option value="Pangua">Pangua</option>
<option value="Pujilí">Pujilí</option>
<option value="Salcedo">Salcedo</option>
<option value="Saquisili">Saquisilí</option>
<option value="Sigchos">Sigchos</option>
</select>
</div>
<p>(*) Parroquias:</p>
<div class="form-group">
<select id="parroquia" name="Parroquia" data-placeholder="- Seleccione una parroquia -"
class="form-control chosenParroquia" value="<%= typeof Parroquia != 'undefined' ? Parroquia : '' %>" required>
<option value=""></option>
</select>
</div>
<p>(*) Barrio/Comunidad/Recinto:</p>
<p id="p_barrio"></p>
<input
type="text"
name="barrio"
placeholder="Ej. Centro"
required
/>
<p>(*) Dirección Calles:</p>
<p id="p_direccion"></p>
<input
type="text"
name="direccion"
placeholder="Ej. Calle Juan Manuel Lasso"
required
/>
<p>(*) Teléfono Celular:</p>
<p id="p_t_celular"></p>
<input
type="text"
name="t_celular"
value="09"
placeholder="Ej. 09xxxxxxxx"
required
/>
<p>Teléfono Convencional:</p>
<p id="p_t_convencional"></p>
<input
type="text"
name="t_convencional"
id="t_convencional"
value="03"
onchange="validarTC()"
placeholder="Ej. 032xxxxxx"
/>
<p>(*) Tipo de persona:</p>
<select name="tipo_persona" class="tipo_persona" required>
<option value="opcion" selected>Seleccione el tipo de persona...</option>
<option value="Persona Natural">Persona Natural</option>
<option value="Persona Jurídica de Derecho Privado">Persona Jurídica de Derecho Privado</option>
<option value="Persona Jurídica de Derecho Público">Persona Jurídica de Derecho Público</option>
</select>
<br>
<p>(*) Correo Electrónico:</p>
<p id="p_email"></p>
<input
type="email"
name="email"
placeholder="Ej. example@hotmail.com"
required
/>
<p>(*) Petición Concreta:</p>
<!--<input
type="textarea"
name="desc"
placeholder="Documento para..."
required
/>-->
<textarea name="desc" id="desc" cols="30" rows="5" placeholder="Documento para..." required></textarea>
<p>(*) Archivo Digital PDF:</p>
<p id="p_file"></p>
<input
type="file"
name="file"
id="archivoInput"
onchange="return validarExt()"
required
/>
<p>(*) ¿Tiene un archivo adjunto?</p>
<div id="checkbox">
<div id="sidiv">
<span>Si</span><input type="radio" name="si" value="Si" id="si" onclick="ver()"><br>
</div>
<div id="nodiv">
<span>No</span><input type="radio" name="no" value="No" id="no" checked onclick="ocultar()"><br>
</div>
</div>
<div id="show" style="display: none;">
<p>(*) Archivo Adjunto PDF:</p>
<p id="p_file2"></p>
<input
type="file"
name="file2"
id="archivoInput2"
onchange="return validarExt2()"
/>
</div>
<input
type="submit"
name="next"
class="next action-button"
value="Enviar"
id="btnsubmit"
/>
<p id="mensaje"></p>
<p id="mensaje_telefono_con"></p>
<div id="visorArchivo"></div>
<div id="visorArchivoAdjunto"></div>
</fieldset>
<br />
<br />
</form>
文件环境
Todos los campos marcados con(*)son obligatorios
我不知道该怎么做,也不知道该怎么做。
N°文件
(*)名称:
(*)阿佩利多斯:
(*)塞杜拉:
(*)坎顿:
拉马纳
拉塔孔加
潘瓜
普吉利
萨尔塞多
萨奎西利
格乔斯
(*)帕罗奎亚斯:
(*)巴里奥/康穆尼达/雷辛托:
(*)迪雷西翁呼吁:
(*)电话号码:
电话会议:
(*)个人信息:
个人选择。。。
自然人
私人法律人
德雷乔·普布利科法人
(*)科雷奥电气公司:
(*)Petición Concreta:
(*)Archivo数字PDF:
(*)你有什么想法
Si
否
(*)Archivo Adjunto PDF:
ENVIO.PHP
<?php
// variables del formulario
$NDocumento = $_POST['idDocumento'];
$nombres = strip_tags($_POST['nombres']);
$apellidos = strip_tags($_POST['apellidos']);
$cedula = strip_tags($_POST['cedula']);
$Canton = strip_tags($_POST['Canton']);
$Parroquia = strip_tags($_POST['Parroquia']);
$barrio = strip_tags($_POST['barrio']);
$direccion = strip_tags($_POST['direccion']);
$t_celular = strip_tags($_POST['t_celular']);
$t_convencional = strip_tags($_POST['t_convencional']);
$tipo_persona = strip_tags($_POST['tipo_persona']);
$email = strip_tags($_POST['email']);
$desc = strip_tags($_POST['desc']);
$asunto2 = 'RECEPCIÓN EXTERNA';
//ARCHIVO
$nameFile = $_FILES['file']['name'];
$sizeFile = $_FILES['file']['size'];
$typeFile = $_FILES['file']['type'];
$tempFile = $_FILES['file']['tmp_name'];
$fecha= time();
$fechaFormato = date("j/n/Y",$fecha);
$correoDestino = "user@example.com";
//asunto del correo
$asunto = "Nuevo documento de: " . $nombres;
// -> mensaje en formato Multipart MIME
$cabecera = "MIME-VERSION: 1.0\r\n";
$cabecera .= "Content-type: multipart/mixed;";
//$cabecera .="boundary='=P=A=L=A=B=R=A=Q=U=E=G=U=S=T=E=N='"
$cabecera .="boundary=\"=C=T=E=C=\"\r\n";
$cabecera .= "From: RECEPCIÓN EXTERNA<{$email}>";
//Primera parte del cuerpo del mensaje
$cuerpo = "--=C=T=E=C=\r\n";
$cuerpo .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
//cuerpo .= "charset=utf-8\r\n";
//$cuerpo .= "Content-Transfer-Encoding: 8bit\r\n";
$cuerpo .= "\r\n"; // línea vacía
$cuerpo .= "Correo enviado por: " . $nombres;
$cuerpo .= " con fecha: " . $fechaFormato . "\r\n";
$cuerpo .= "N Documento: " . $NDocumento . "\r\n";
$cuerpo .= "Nombres: " . $nombres . "\r\n";
$cuerpo .= "Apellidos: " . $apellidos . "\r\n";
$cuerpo .= "Cédula: " . $cedula . "\r\n";
$cuerpo .= "Cantón: " . $Canton . "\r\n";
$cuerpo .= "Parroquia: " . $Parroquia . "\r\n";
$cuerpo .= "Barrio: " . $barrio . "\r\n";
$cuerpo .= "Dirección: " . $direccion . "\r\n";
$cuerpo .= "Celular: " . $t_celular . "\r\n";
$cuerpo .= "Covencional: " . $t_convencional . "\r\n";
$cuerpo .= "Tipo de persona: " . $tipo_persona . "\r\n";
$cuerpo .= "Correo: " . $email . "\r\n";
$cuerpo .= "Petición concreta: " . $desc . "\r\n";
$cuerpo .= "\r\n";// línea vacía
// -> segunda parte del mensaje (archivo adjunto)
// -> encabezado de la parte
$cuerpo .= "--=C=T=E=C=\r\n";
$cuerpo .= "Content-Type: application/octet-stream; ";
$cuerpo .= "name=" . $nameFile . "\r\n";
$cuerpo .= "Content-Transfer-Encoding: base64\r\n";
$cuerpo .= "Content-Disposition: attachment; ";
$cuerpo .= "filename=" . str_replace(' ', '',$nameFile) . "\r\n"; //quito los espacios en el nombre
$cuerpo .= "\r\n"; // línea vacía
$cuerpo .= "\r\n"; // línea vacía
$fp = fopen($tempFile, "rb");
$file = fread($fp, $sizeFile);
$file = chunk_split(base64_encode($file));
$cuerpo .= "$file\r\n";
$cuerpo .= "\r\n"; // línea vacía
// Delimitador de final del mensaje.
$cuerpo .= "--=C=T=E=C=--\r\n";
if (!empty($_FILES['file2'])){
$nameFile2 = $_FILES['file2']['name'];
$sizeFile2 = $_FILES['file2']['size'];
$typeFile2 = $_FILES['file2']['type'];
$tempFile2 = $_FILES['file2']['tmp_name'];
//ARCHIVO ADJUNTO 2
$cuerpo .= "--=C=T=E=C=\r\n";
$cuerpo .= "Content-Type: application/octet-stream; ";
$cuerpo .= "name2=" . $nameFile2 . "\r\n";
$cuerpo .= "Content-Transfer-Encoding: base64\r\n";
$cuerpo .= "Content-Disposition: attachment; ";
$cuerpo .= "filename2=" . str_replace(' ', '',$nameFile2) . "\r\n"; //quito los espacios en el nombre
$cuerpo .= "\r\n"; // línea vacía*/
//FILE2
$fp2 = fopen($tempFile2, "rb2");
$file2 = fread($fp2, $sizeFile2);
$file2 = chunk_split(base64_encode($file2));
//FILE 2
$cuerpo .= "$file2\r\n";
$cuerpo .= "\r\n"; // línea vacía
// Delimitador de final del mensaje.
$cuerpo .= "--=C=T=E=C=--\r\n";
}
//Enviar el correo
if(mail($correoDestino, $asunto, $cuerpo, $cabecera)){
echo '<script language="javascript">alert("Documento enviado con exito");window.location.href="formulario.html"</script>';
}else{
echo '<script language="javascript">alert("Documento no enviado algo fallo!");window.location.href="formulario.html"</script>';
}
您应该描述您遇到的问题。这个代码有效吗?它会给你错误吗?如果这对你来说更容易,也有。有具体的问题吗?基本的想法看起来不错…但是这是很多代码,所以你有一个问题,你需要准确地解释运行代码时出现了什么问题,并告诉我们你是如何调试它并试图缩小问题的范围的。我们无法为您调试它。