Foros del Web » Programando para Internet » PHP »

enviar un archivo por email

Estas en el tema de enviar un archivo por email en el foro de PHP en Foros del Web. Buena noches amigos, Haver si me podeis decir donde puedo encontrar como he de hacer para cargar un archivo des de un formulario. a) lo ...
  #1 (permalink)  
Antiguo 08/04/2005, 15:28
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 14 años, 3 meses
Puntos: 0
enviar un archivo por email

Buena noches amigos,

Haver si me podeis decir donde puedo encontrar como he de hacer para cargar un archivo des de un formulario.

a) lo quiero guardar en la BBDD MySQL, ¿que tipo de campo he de utilizar?
b) lo quiero enviar por correo electronico.

Gracias

Jaume
  #2 (permalink)  
Antiguo 08/04/2005, 15:32
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 14 años, 3 meses
Puntos: 0
hola!!! yo ando buscando la misma informacion, pero para subirlo a un directorio (carpeta o folder) en el servidor!!

Alguien que nos ilustre
  #3 (permalink)  
Antiguo 09/04/2005, 03:32
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 14 años, 3 meses
Puntos: 0
Hola amigos,

Estoy provando como poder subir los ficheros al directorio, pero creo que tengo problemas de configuracion.

1) Si mi hosting no me da permisos para escribir ficheros, puedo modificar esos valores de alguna forma?

file_uploads: (On / Off), pemite que haya o no cargas de archivos
uploads_max_filesize: tamaño máximo del archivo que se puede subir
upload_tmp_dir: directorio temporal donde se guardan los archivos cargados
post_max_size: tamaño máximo de los datos enviados por el método post



2) Por otro lado, aun no he resuelto como enviarlos por email.
  #4 (permalink)  
Antiguo 09/04/2005, 06:34
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 12 años, 9 meses
Puntos: 2
respecto apra subirlos a una carpeta....
aki te dejo un codigo:
nuestro codigo para subir archivos estaria compuesto de dos partes: el formulario en el cual elegimos el archivo que queremos subir y el script que lo sube:

supongamos que tenemos una pag form.php, que sería un formulario:
//es importante definir en enctype en la etiqueta form, = k se hace aqui abajo.
<form method="POST" action="subir.php" enctype="multipart/form-data">
<input type="file" name="foto1">
<input type="submit" name="boton" value="enviar">
</form>

y ahora se envia al script que sube el archivo: supongamos que es subir.php
//datos del arhivo
$nombre_archivo = $_FILES['foto1']['name']; //recibe el nombre del archivo
$tipo_archivo = $_FILES['foto1']['type']; //recibe el tipo de archivo(image/gif x ejemplo)
$tamano_archivo = $_FILES['foto1']['size']; //recibe el tamaño
$ext=miraext($tipo_archivo); //mira la extension (abajod e este post esta incluida la funcion
//en nombre actual pondremos el nombre que queremos que tenga el archivo, por defecto he dejado el original...
$nombre_actual=$nombre_archivo;
//si queremos subirlo a una carpeta concretamente definimos aqui el directorio, x ejemplo "fotos/" . $nombre_archivo
//compruebo si las características del archivo son las que deseo
if ($tamano_archivo>160000) {
echo "el tamaño de los archivos no es correcto. Se permiten archivos de 160 KB máximo.";
}else{
aqui movemos el achivo del directorio temporal al nuestro y con el nombre que hemos definido.
if (move_uploaded_file($_FILES['foto1']['tmp_name'], $nombre_actual)){
echo "El archivo 1 ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero 1. No pudo guardarse.";
}
}

Aquí abajo inlcuyo la funcion miraext:

function miraext($a){

if ($a=='image/pjpeg'){
$ext='.jpg';
}
else{
if($a=='image/x-png'){
$ext='.png';
}
else{
if($a=="image/gif"){
$ext='.gif';
}
else{
echo "ERROR: Sólo se admiten archivos JPG, GIF o PNG.";
}
}
}
//se pueden incluir tantos tipos de archivos como queramos... y los demas quedan restringidos...
return $ext;
}
  #5 (permalink)  
Antiguo 09/04/2005, 06:43
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 14 años, 3 meses
Puntos: 0
Gracias Manu Leon,

1) Pero tengo problemas con la configuracion del hosting i el php.

He buscado en el manual de php i me dice que puedo canviar la ºvariable upload_tmp_dir que esta como no value, pero una vez ejecuto:

ini_set('upload_tmp_dir', 'http://racocatala.com/ciutadania.cat/aplirsi/dades/');

siguo sin poder canviarle el valor.

2) Si no lo puedo guardar, quisiera poder adjkuntarlo por email. Que cabecera del mai() he de utilizar?
  #6 (permalink)  
Antiguo 09/04/2005, 07:39
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 12 años, 9 meses
Puntos: 2
de email no tengo ni idea, la verdad que no me llevo muy bien con la funcion mail. Y si no peudes metrelo en un carpeta, llama a los del hosting si es de pago y preguntas que que pasa... si es gratuito busca otro hosting que te permita hacerlo....
  #7 (permalink)  
Antiguo 09/04/2005, 08:01
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 14 años, 3 meses
Puntos: 0
para subir los Archivos en un servidor local, en mi misma conputadora, ese me funciona bien, lo sube ? el servidor es apache!!

osea, quiero decir, que si no voy a tener problemas testiando esto en un servidor local ?

Última edición por saymon; 09/04/2005 a las 08:03
  #8 (permalink)  
Antiguo 10/04/2005, 03:50
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 14 años, 3 meses
Puntos: 0
Una vez suba el fichero al Servidor:

a) lo quiero guardar en la BBDD MySQL, ¿que tipo de campo he de utilizar?

Si no lo puedo guardar, quisiera poder adjkuntarlo por email. Que cabecera del mai() he de utilizar?

b) lo quiero enviar por correo electronico,
¿Como lo envio como adjunto?
¿Es necesario para enviarlo por email, subirlo i grabarlo en el servidor?
  #9 (permalink)  
Antiguo 10/04/2005, 04:41
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Invitación a que hagamos uso del buscador del foro:

a) http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/
b) Sí, primero tendras que subir el archivo al servidor. Igual es tema común en el foro.. y seguro encontrarás un enlace a PHPMailer: http://phpmailer.sourceforge.net/

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #10 (permalink)  
Antiguo 10/04/2005, 17:31
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 14 años, 3 meses
Puntos: 0
Para enviar correos electronico, yo utilizo mail (). Puede esta funcion enviar archivos adjuntos?
  #11 (permalink)  
Antiguo 10/04/2005, 19:49
Avatar de anxelina  
Fecha de Ingreso: febrero-2005
Ubicación: Francia
Mensajes: 38
Antigüedad: 12 años, 10 meses
Puntos: 0
si la funcion mail lo puede hacer , pero tienes que checar las especificaciones del Mime.

http://www.rinconastur.net
En el area de informatica checalo

O bien aqui mismo en las faqs
  #12 (permalink)  
Antiguo 15/04/2005, 13:15
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 14 años, 3 meses
Puntos: 0
Ya solucione mis problemas.

Debido a la configuracion del php de mi sitio web, debi dejar de manejar las funciones de upload, donde no tenia permisos, y subirlas directamente a mi directorio.


Ahora lo que quiero es descargar esos ficheros. Como he de hacer para leer los directorios del site de la misma forma que al subirlo??


gracias
  #13 (permalink)  
Antiguo 15/04/2005, 14:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y donde "subistes" tus archivos? .. a que directorio? ...

Bueno .. de momento revisa la documentación de:
header()
www.php.net/header
y de
readfile()
www.php.net/readfile

Con el uso adecuado (ejemplos tienes en la documentación de PHP al respecto en esas funciones) de las cabeceras HTTP adecuadas para indicar que tu archivo es para forzar una descarga .. y con "readfile()" que lee el archivo y lo entrega al buffer de salida .. podrás hacer lo que requieres.

Un saludo,
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 10:14.