Estoy creando un sistema de upload de archivos (que seran grandes, ahora estoy probando con imagenes) y que basicamente cuando termina de subir el archivo correctamente me envia un email.
Le he dado mil vueltas y una variable no pasa.... no se por que, no le encuentro el fallo.
El script es este:
Código PHP:
   <?php
  $userfile=$_FILES['userfile']['tmp_name']; 
  $userfile_name=$_FILES['userfile']['name'];
  $userfile_size=$_FILES['userfile']['size'];
  $userfile_type=$_FILES['userfile']['type'];
  $userfile_error=$_FILES['userfile']['error'];
  $usuario=$_POST['usuario'];
  $email=$_POST['email'];
  $destinatario = '[email protected]';
  $asunto = 'Test de upload de datos y envio de email de aviso';
  $contenidoemail = 'El usuario: '.$usuario."\n"
                 .'Con email: '.$email."\n"
                 .'ha subido este archivo: http://www.mindpanic.com/datos/'.$userfile_name."\n";
  $remitente = 'De: [email protected]';
  if (!$usuario)
  {
      echo "".$usuario." No has introducido el nombre de usuario.<br />";
      echo "Por favor vuelve atras y rellena todas las casillas.";
      exit;
  }
  if (!$email)
  {
      echo "".$usuario." No has introducido el email.<br />";
      echo "Por favor vuelve atras y rellena todas las casillas.";
      exit;
  }
  if ($userfile_error > 0)
  {
    echo 'Problema: ';
    switch ($userfile_error)
    {
      case 1:  echo 'El archivo excede el: upload_max_filesize';  break;
      case 2:  echo 'El archivo excede el: max_file_size';  break;
      case 3:  echo 'El arcivo no se ha subido al completo';  break;
      case 4:  echo 'No file uploaded';  break;
    }
    exit;
  }
// otro checkeo más: tiene el archivo el tipo MIME correcto?
  $userfile_type_aceptados=array('image/jpeg','image/jpg','image/gif','image/png');
  if (!in_array($userfile_type,$userfile_type_aceptados))
  {
      echo 'Problema: El archivo no tiene el formato adecuado (jpeg, jpg, gif o png)';
      exit;
  } 
 
// pon el archivo donde quieras
  $upfile = '/home/mindpani/public_html/datos/'.$userfile_name;
 
// is_uploaded_file y move_uploaded_file añadido para la version 4.0.3 de php
  if (is_uploaded_file($userfile)) 
  {
     if (!move_uploaded_file($userfile, $upfile))
     {
         unlink($upfile);
         echo 'Problema: No se ha podido mover el archivo a el directorio de destino';
         exit;
     }
  } 
  else 
  {
      unlink($upfile);
      echo 'Problema: Posible ataque en el upload. Archivo: '.$userfile_name;
      exit;
  }
  if (!mail($destinatario, $asunto, $contenidoemail, $remitente))
  {
      echo "Ha fallado el envio del email";
  }
  echo "Los datos se han enviado correctamente y se te ha enviado el email";
?>    Código PHP:
   <?php $volver = "../artistas/subir-datos.php";
define('IN_PHPBB', true);
$phpbb_root_path = (dirname($_SERVER['PHP_SELF'])=="../foros/") ? './' : '../foros/'; //PATH DEL FORO RESPECTO DEL SCRIPT
if (!function_exists("init_userprefs"))
{
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
global $db, $board_config;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
$cookiename = $board_config['cookie_name'];
$cookiepath = $board_config['cookie_path'];
$cookiedomain = $board_config['cookie_domain'];
$cookiesecure = $board_config['cookie_secure'];
}
?>
<html>
<head>
  <title>Test para subida de datos</title>
</head>
<body>
  <h2>Hola <?php echo"".$userdata['username']."";?>, sigue estos pasos</h2>
  <h2>ESto es un test, Introduce correctamente los datos</h2>
  <form enctype='multipart/form-data' action='upload.php' method='post'>
        <input type='hidden' name='usuario' value='<?php echo"".$userdata['username']."";?>'>
        <input type='hidden' name='MAX_FILE_SIZE' value='41943040'>
        Subir este Archivo: <input name='userfile' type='file'>
     <table border='0'>
      <tr>
        <td>Direccion de correo electronico</td>
         <td><input type='text' name='email' maxlength='30' size='30'></td>
      </tr>
      <tr>
        <td colspan='2'><input type='submit' value='Enviar Datos'></td>
      </tr>
    </table>
  </form>
</body>
</html>   Saludos.
Se me olvidaba el script se para en el fallo que dice que no he introducido el email.
probarlo y poner un email inexistente.
 
 

 
 
 Posteando
 Posteando  
 
