Tengo un problema con un formulario que consegui en la web,
cada ver que lo pruebo me envia el formulario pero el archivo adjunto que envia va
con el nombre correcto con la extension correcta, pero siempre pesa 0kb y claro que no se puede abrir ni ver.
este es el codigo, si alguien se da cuenta de que puede ser le agradezco mucho!
yo solo se un poco de html y css y nada de php.
html:
<form name='formulario' id='formulario' method='post' action='mail_adjuntos.php' target='_self' enctype="multipart/form-data">
<p>descripción
<textarea name="descripcion" cols="29" id="descripcion"></textarea>
<p>edad <input type='text' name='edad' id='edad'>
<p>ubicación aprox: <input type='text' name='ubicacion' id='ubicacion'>
<p>
E-mail <input type='text' name='E-mail' id='E-mail'>
<p>archivo jpg (max 500kb): <input type='file' name='archivo1' id='archivo1'>
<p>
<input type='submit' value='Enviar'>
</p>
<br />
</form>
php
<?php
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";
if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;
foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";
$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}
if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}
if (form_mail("[email protected]","Fotos de usuarios",
"Los datos introducidos en el formulario son:\n\n", "[email protected]"))
echo "Su formulario ha sido enviado con exito";
?>