Foros del Web » Programando para Internet » PHP »

script, formulario con archivo adjunto

Estas en el tema de script, formulario con archivo adjunto en el foro de PHP en Foros del Web. Hola, encontre este script que envia un formulario al correo con un archivo adjunto, pero me gustaria poder modificarlo para que acepte solo determinados archivos... ...
  #1 (permalink)  
Antiguo 28/03/2008, 00:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 27
Antigüedad: 16 años, 1 mes
Puntos: 1
script, formulario con archivo adjunto

Hola, encontre este script que envia un formulario al correo con un archivo adjunto, pero me gustaria poder modificarlo para que acepte solo determinados archivos... espero que alguien me pueda ayudar... aqui les muestro el script y me digan donde puedo modificarlo.

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Formulario de contacto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
   
if ($_SERVER['REQUEST_METHOD']=="POST"){

   
// Aqui tiene que ir el email del webmaster
   
$to="[email protected]";

   
$subject="Formulario con Archivo Adjunto";

   
// Aparece el nombre y corre del remitente.
   
$from stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">";

   
$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";

   
// store the file information to variables for easier access
   
$tmp_name $_FILES['filename']['tmp_name'];
   
$type $_FILES['filename']['type'];
   
$name $_FILES['filename']['name'];
   
$size $_FILES['filename']['size'];

   
// Texto que aparece en el email.
   
$message "Nombre del Archivo: $name";

   
// if the upload succeded, the file will exist
   
if (file_exists($tmp_name)){

      
// check to make sure that it is an uploaded file and not a system file
      
if(is_uploaded_file($tmp_name)){

         
// open the file for a binary read
         
$file fopen($tmp_name,'rb');

         
// read the file content into a variable
         
$data fread($file,filesize($tmp_name));

         
// close the file
         
fclose($file);

         
// now we encode it and split it into acceptable length lines
         
$data chunk_split(base64_encode($data));
     }

      
// now we'll build the message headers
      
$headers "From: $from\r\n" .
         
"MIME-Version: 1.0\r\n" .
         
"Content-Type: multipart/mixed;\r\n" .
         
" boundary=\"{$mime_boundary}\"";

      
// next, we'll build the message body
      // note that we insert two dashes in front of the
      // MIME boundary when we use it
      
$message "This is a multi-part message in MIME format.\n\n" .
         
"--{$mime_boundary}\n" .
         
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
         
"Content-Transfer-Encoding: 7bit\n\n" .
         
$message "\n\n";

      
// now we'll insert a boundary to indicate we're starting the attachment
      // we have to specify the content type, file name, and disposition as
      // an attachment, then add the file content and set another boundary to
      // indicate that the end of the file has been reached
      
$message .= "--{$mime_boundary}\n" .
         
"Content-Type: {$type};\n" .
         
" name=\"{$name}\"\n" .
         
//"Content-Disposition: attachment;\n" .
         //" filename=\"{$fileatt_name}\"\n" .
         
"Content-Transfer-Encoding: base64\n\n" .
         
$data "\n\n" .
         
"--{$mime_boundary}--\n";

      
// Imprime mensaje de salida
      
if (@mail($to$subject$message$headers))
         echo 
"Mensaje Enviado";
      else
         echo 
"No se puede enviar...";
   }
} else {
?>
<p>Formulario de Contacto:</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" 
   enctype="multipart/form-data" name="form1">
   <p>Nombre:<br> 
  <input type="text" name="fromname"></p>
   <p>E-mail: <br>
   <input type="text" name="fromemail"></p><p>Mensaje:<br> 
     <textarea name="mensaje" cols="25" rows="4"></textarea>
   </p>
   <p>Archivo Adjunto:<br> 
  <input type="file" name="filename"></p>
   <p><input type="submit" name="Submit" value="Enviar"></p>
</form>
<?php ?>
</body>
</html>
  #2 (permalink)  
Antiguo 10/04/2008, 12:44
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: script, formulario con archivo adjunto

nose si este pedacito de codigo lo pueda meter con el tuyo, es algo q utilicepero para subir archivos al servidor nose site sirva

Código PHP:

//compruebo si las características del archivo son las que deseo  

if (!((strpos($tipo_archivo"bmp") || strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg") || strpos($tipo_archivo"png")) && ( $tamano_archivo 2000000))) 
{  
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif .jpg .png ó .bmp<br><li>se permiten archivos de 2Mb máximo.</td></tr></table>"
 

__________________
paty :adios:
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.
Tema Cerrado




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