Comunidad de diseño web y desarrollo en internet online

Subo archivos al servidor pero quiero que ademas me lleguen por mail

Citar            
MensajeEscrito el 29 Abr 2012 12:10 am
Hola a todos,
Espero me puedan ayudar.

Tengo un boton hecho en flash para subir archivos al servidor. Sube el archivo y me los guarda en una carpeta llamada archivos. Lo que estoy necesitando ahora es que me llegue ese archivo que sube al servidor de forma adjunta por mail, si no sube a la carpeta no importa, ahora es mas importante que me llegue por mail.

Tengo el siguiente codigo en el archivo php llamado adjuntar.php:

Código :

<?php
//Donde se guarda el archivo
if(!is_dir("./archivos")) mkdir("./archivos", 0755); 
//move the uploaded file
$nombre="./archivos/".basename($_FILES['Filedata']['name']);
//si el archivo se guarda correctamente
if ( @move_uploaded_file( $_FILES['Filedata']['tmp_name'] , $nombre)) {
   chmod("./archivos/".$_FILES['Filedata']['name'], 0777);
   //enviamos a flash un mensaje de que este archivo existe
   header('HTTP/1.1 200 OK');
}else{
   //sino, le decimos a flash que este archivo (adjuntar.php) no existe asi manda error
   header('HTTP/1.1 404 Not Found');
}
?>


Quisiera saber que modificar del php para que me llegue de forma adjunta a mi correo.

Tmbien dejo el codigo de flash por si es ahi que hay que modificar:

Código :

//importamos las clases necesarias:
import flash.net.FileReferenceList;
import flash.net.FileReference;
//Definimos los archivos permitidos, que es un array con un objeto dentro:
_root.imagen._visible = false;
var allTypes:Array = new Array();
imageTypes.description = "Archivos (*.jpg;*.jpeg;*.png;*.docx;*.doc;*.pdf;*.rar;*.zip;)";
var imageTypes:Object = new Object();
//"description" declara lo que saldra en el dialogo de eleccion de archivos:
imageTypes.description = "Archivos (*.jpg;*.jpeg;*.png;*.docx;*.doc;*.pdf;*.rar;*.zip;)";
//la propiedad "extension" declara los archivos permitidos (en este caso solo jpgs, gifs y pngs):
imageTypes.extension = "*.jpg;*.jpeg;*.png;*.docx;*.doc;*.pdf;*.rar;*.zip;";
allTypes.push(imageTypes);
//Creamos un listener que se llamara cuando los archivos sean seleccionados,
//que a su vez enviara los archivos elegidos a una funcion para que hagamos algo con ellos:
var listListener:Object = new Object();
listListener.onSelect = function(fileRefList) {
   crearArchivos(fileRefList.fileList);
};
//y finalmente creamos la instancia de FileReferenceList:
var fileRef:FileReferenceList = new FileReferenceList();
//le aplicamos el listener:
fileRef.addListener(listListener);
//y declaramos que btnExaminar (un boton que tenemos en el escenario) llame al dialogo de eleccion de archivos, 
//con las restricciones de "allTypes":
btnExaminar.onRelease = function() {
   fileRef.browse(allTypes);
};
function crearArchivos(files) {
   //por si ya hemos subido algo (esto lo entenderan al final):
   //borramos todos los mclips creados anteriormente
   for (var i in arrRef) {
      arrRef[i].removeMovieClip();
   }
   //y borramos las variables globales
   delete puntero;
   delete arrRef;
   //deshabilitamos el boton examinar.
   btnExaminar.enabled = false;
   //posicion en Y inicial para los archivos.
   var posY = 20;
   // creamos un array global que contendra todos los MCs que referencian a los archivos.
   _global.arrRef = new Array();
   // por cada archivo seleccionado:
   for (var i = 0; i<files.length; i++) {
      //creamos un clip con un texto
      //el texto mostrara el tamaño y el nombre de cada archivo
      c.nombre.text = "»NOMBRE: "+files[i].name;
      c.peso.text = "»PESO: "+Math.ceil(files[i].size/1000)+" Kb";
      //creamos una variable dentro del mclip que referencia al archivo de FileReference
      c.file = files[i];
      //y metemos el clip en el array global
      arrRef.push(c);
   }
   //y finalmente comenzamos subiendo el primer archivo:
   // declaramos una variable global que indicara en que archivo vamos (ahora vamos en el primero):
   _global.puntero = 0;
   // asociamos un listener al archivo **** lo explicare a continuacion.
   arrRef[puntero].file.addListener(fileListener);
   // y comenzamos la descarga
   arrRef[puntero].file.upload("adjuntar.php");
}
//creamos el objeto listener
var fileListener:Object = new Object();
//cuando se abre el archivo, y se hace la peticion al servidor para comenzar la subida
fileListener.onOpen = function(file) {
   //aprovechamos para crear un textfield que mostrara el progreso.
   _root.pleasewait.play();
   _root.pleasewait.progreso.text = "SUBIENDO ARCHIVO...";
};
//cada vez que se suba un pedazo de archivo:
fileListener.onProgress = function(file, bytesLoaded, bytesTotal) {
   //mostramos el porcentaje de progreso
   var porcentaje = Math.round(bytesLoaded*100/bytesTotal);
   _root.pleasewait.progreso.text = porcentaje+"%";
};
//cuando el archivo haya completado la subida satisfacotiramente
fileListener.onComplete = function(file):Void  {
   //mostramos que el archivo se subio bien
   _root.pleasewait.progreso.text = "Listo!";
   c.ok.text = "PROCESO TERMINADO";
   _root.imagen._visible = false;
   c.muestra.text = _root._url.substring(0, _root._url.lastIndexOf("/")+1)+"archivo/"+file.name;
   _root.pleasewait.gotoAndPlay("listo");
   //y vamos a por el siguiente (ver la funcion mas abajo)
   subirSiguiente();
};
//con cualquier error:
fileListener.onHTTPError = fileListener.onIOError=fileListener.onSecurityError=function (file, error) {
   //mostramos que ha habido un error
   _root.pleasewait.gotoAndPlay("carga");
   _root.pleasewait.progreso.text = "ERROR: "+error;
   //y vamos a por el siguiente (ver la funcion mas abajo)
   subirSiguiente();
};
function subirSiguiente() {
   //si el puntero es menor que la cantidad de archivos
   if (puntero<arrRef.length-1) {
      //aumentamos el puntero en uno
      puntero++;
      //y subimos el siguiente archivo
      arrRef[puntero].file.addListener(fileListener);
      arrRef[puntero].file.upload("adjuntar.php");
   } else {
      //sino, volvemos a habilitar el boton examinar,
      //para permitir seguir subiendo archivos
      btnExaminar.enabled = true;
   }
}


Para quien solo necesite subir archivos a una carpeta el codigo anda perfecto! :wink:

Muchas gracias a todos!

Por Micavalum

3 de clabLevel



Genero:Femenino  

Soy muy buena

chrome
Citar            
MensajeEscrito el 04 May 2012 05:06 pm
Hola, esta dificil o no me exprese correctamente? :(

Por Micavalum

3 de clabLevel



Genero:Femenino  

Soy muy buena

chrome
Citar            
MensajeEscrito el 04 May 2012 08:06 pm
lo que falta es que es lo que tienes echo en php, por que a la final tu flash en resumen solo es un formulario que envia datos, y donde esta el receptor de datos, adjuntar.php, que tienes echo ahi?? asi te podremos ayudar, y este tema se tratao varias veces , mira si usas el buscador veras que hay muchos temas de disintta indole pero que al final tiene el mismo objetivo , :), ahora estoy desde el movil , asi que solo te puedo decir eso byeee

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 May 2012 05:46 am
Hola tuadmin, gracias por la respuesta.
En verdad ahi esta todo lo que tengo, arriba de todo esta mi php, con ese codigo sube todo a una carpeta del servidor, yo lo que necesito es que en vez de subir el adjunto a una carpeta vaya a una direccion de mail que le asigne.

Muchas gracias por tu ayuda

Por Micavalum

3 de clabLevel



Genero:Femenino  

Soy muy buena

chrome
Citar            
MensajeEscrito el 13 May 2012 10:54 pm
a bueno entonces solo te falta que te llegue un email adjunto, bueno PHPMailer te viene al dedo, mira el ejemplo

http://phpmailer.worxware.com/index.php?pg=exampleamail

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 22 May 2012 03:14 pm
Gracias, despues de dias de intento al final no pude dar. Buscaré otra forma, pense que teniendo lo que tenia bastaba solo con hacer una modificación al codigo.
Saludos!

Por Micavalum

3 de clabLevel



Genero:Femenino  

Soy muy buena

chrome

 

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