Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2013, 16:50
TapWeb
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 11 años, 3 meses
Puntos: 0
Errores en formulario PHP con archivo adjunto

Buenas tardes!

He leído varios post sobre formulario PHP con archivos adjuntos pero en ninguno he visto los errores que se me presentan, no sé si será falta de alguna validación por parte del servidor o sinceramente ignorancua de mi parte.

Agradezco CUALQUIER ayuda!

Los errores son estos:

Cita:
Warning: fopen() [function.fopen]: open_basedir restriction in effect. File(C:\Windows\Temp\php8795.tmp) is not within the allowed path(s): (C:\Inetpub\vhosts\*****\httpdocs\) in C:\Inetpub\vhosts\*****\httpdocs\prueba_cdc\enviar .php on line 35

Warning: fopen(C:\Windows\Temp\php8795.tmp) [function.fopen]: failed to open stream: Operation not permitted in C:\Inetpub\vhosts\*****\httpdocs\prueba_cdc\enviar .php on line 35

Warning: filesize() [function.filesize]: open_basedir restriction in effect. File(C:\Windows\Temp\php8795.tmp) is not within the allowed path(s): (C:\Inetpub\vhosts\*****\httpdocs\) in C:\Inetpub\vhosts\*****\httpdocs\prueba_cdc\enviar .php on line 36

Warning: fread(): supplied argument is not a valid stream resource in C:\Inetpub\vhosts\*****\httpdocs\prueba_cdc\enviar .php on line 36

Warning: fclose(): supplied argument is not a valid stream resource in C:\Inetpub\vhosts\*****\httpdocs\prueba_cdc\enviar .php on line 38
Su formulario ha sido enviado con exito
Este es el código que estoy usando:

Formulario:
Código HTML:
<form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>E-mail
<input type='text' name='email' id='email'>
</p>
<p>Asunto
<input type='text' name='asunto' id='asunto' />
</p>
<p>Mensaje
<textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>
</p>
<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar'>
</p>
</form> 
PHP - enviar.php
Código 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($oFicherofilesize($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));
}

//cambiar aqui el email
if (form_mail("[email protected]"$_POST[asunto],
"Los datos introducidos en el formulario son:\n\n"$_POST[email]))
echo 
"Su formulario ha sido enviado con exito";
?>

Última edición por Triby; 08/08/2013 a las 05:42 Razón: Eliminar referencia al dominio.