Foros del Web » Programando para Internet » PHP »

por favor alguien me explica este script

Estas en el tema de por favor alguien me explica este script en el foro de PHP en Foros del Web. este es un archivo, el cual hace la funcion de enviar por mail un documento adjunto con ciertas variables que recoje de un documento html...lo ...
  #1 (permalink)  
Antiguo 19/05/2008, 19:42
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 10 meses
Puntos: 0
por favor alguien me explica este script

este es un archivo, el cual hace la funcion de enviar por mail un documento adjunto con ciertas variables que recoje de un documento html...lo que quiero saber es: Como hace para obtener todas las variables del formulario html sin estar organizadas por listas?


Lo esta haciendo con esta funcion? foreach ($_POST as $sNombre => $sValor) en forma de array, o alguien q sea tan amable por favor de explicarme.

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));
}

//Ejemplo de como usar:
if (form_mail("[email protected]","Mail de Buscas Empleo",
"Los datos introducidos en el formulario son:\n\n""Antenalatina"))
echo 
"Su formulario ha sido enviado con exito";
?>
__________________
Tengo una duda...
  #2 (permalink)  
Antiguo 19/05/2008, 21:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: por favor alguien me explica este script

Hola bellacord,

Justamente como dices, cicla usando $_POST y los agrega al mail.

Saludos.
  #3 (permalink)  
Antiguo 20/05/2008, 08:06
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: por favor alguien me explica este script

Entonces cada variable q introduzca en el form.html saldra por si solo en el foreach?
__________________
Tengo una duda...
  #4 (permalink)  
Antiguo 20/05/2008, 08:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: por favor alguien me explica este script

Así es,

Te invito a que leas un manual de PHP básico, ya que todo eso se explica en las estructuras del foreach.

Saludos.
  #5 (permalink)  
Antiguo 20/05/2008, 08:23
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: por favor alguien me explica este script

Gracias..!
__________________
Tengo una duda...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:40.