Comunidad de diseño web y desarrollo en internet online

Formulario php, con archivo adjunto, me llega archivo de 0kb siempre.

Citar            
MensajeEscrito el 18 Abr 2011 12:44 pm
Hola, y gracias por al menos entrar a tratar de ayudar.
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";
?>

Por tatows

1 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 20 Abr 2011 12:26 am
nadie?
alguna sugerencia?

Por tatows

1 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 20 Abr 2011 04:15 pm
Deberías verificar que el archivo realmente está donde crees que está. Es decir, estás leyendo el archivo directamente desde el directorio temporal, pero no hay seguridad que el archivo estará allí para que puedas leerlo cuando lo necesites.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.