Foros del Web » Programando para Internet » PHP »

Adjuntos con mail() de 0k

Estas en el tema de Adjuntos con mail() de 0k en el foro de PHP en Foros del Web. Buenas, resulta que estoy tratando de enviar un archivo por mail() y envía el correo, con sus encabezados, asunto tal. El problema es que envía ...
  #1 (permalink)  
Antiguo 18/11/2008, 03:26
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Adjuntos con mail() de 0k

Buenas, resulta que estoy tratando de enviar un archivo por mail() y envía el correo, con sus encabezados, asunto tal.
El problema es que envía el archivo con el nombre correcto, pero crea un archivo de 0k, y me da el siguiente error:
Cita:
Warning: fread(): supplied argument is not a valid stream resource in /homepages/10/d217952781/htdocs/qh/envio.php on line 39

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/10/d217952781/htdocs/qh/envio.php on line 41
y en esas lineas tengo lo siguiente:
Código PHP:
if ($HTTP_POST_FILES['adjunto']['size']!=0)
{
$fichero fopen($adjunto'r');
$contenido fread($ficherofilesize($adjunto));
$encoded_attach chunk_split(base64_encode($contenido));
fclose($fichero);

Realmente no me cosco del error, se que el problema empieza por que no puede leerlo, pero quizás sea por que no llega abrirlo

Si queréis podéis ver el error aquí : http://questhelper.streosoft.es
  #2 (permalink)  
Antiguo 18/11/2008, 06:55
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Adjuntos con mail() de 0k

Si estas usando Windows como servidor esta linea...
Código php:
Ver original
  1. $fichero = fopen($adjunto, 'r');
Cambiala por esta
Código php:
Ver original
  1. $fichero = fopen($adjunto, 'rb');

Cita:
Iniciado por http://cl.php.net/manual/es/function.fread.php
Warning
En sistemas que diferencian entre archivos binarios y de texto (es decir, Windows) el archivo debe ser abierto con el valor 'b' incluido en el parámetro de modo de fopen().
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 18/11/2008, 07:20
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

Gracias Marvin por responder, he probado con r+, rb, a,w..... es decir todo xdd y me sigue enviando el archivo de 0 bytes, el caso es que cuando paso por Post el archivo, si coge el nombre, y tamaño del archivo correcto :(
E dado un boltio por http://es.php.net/fopen Pero no saco nada claro :(
  #4 (permalink)  
Antiguo 18/11/2008, 07:22
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Adjuntos con mail() de 0k

Y que version de PHP estas usando... porque tambien puede que HTTP_POST_FILES este obsoleto en tu version.

Utiliza $_FILES por si acaso.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 18/11/2008, 07:34
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

Aquí esta el php info, usa versión 5.2.6http://questhelper.streosoft.es/phpinfo.php

HTTP_POST_FILES Funciona por que en otra linea utilizo esto y si va.
Código PHP:
echo $HTTP_POST_FILES['adjunto']['name']; 
  #6 (permalink)  
Antiguo 18/11/2008, 09:05
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Adjuntos con mail() de 0k

Te conviene no poner esa pagina a disposicion de un foro abierto ya que no todos los que entran vienen con buenas intenciones (al menos es lo minimo que hay que pensar)
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 18/11/2008, 09:13
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Adjuntos con mail() de 0k

Ahhh... otra cosa... el archivo no haz tratado de copiarlo a una carpeta con move_uploaded_file() y luego abriendolo... puede ser que exista una posibilidad mas amplia si subes ese archivo a una carpeta.
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #8 (permalink)  
Antiguo 18/11/2008, 10:19
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

Xddd el phpinfo lo puse solo para que le echaras un ojo xdd de todas formas no me preocupa demasiado xddd

Haber el move_uploaded_file() no lo he usado, por la siguiente razón, es un formulario para enviar un archivo concreto por mail y siempre tiene el mismo nombre, si distintos usuarios crean el mismo archivo puede haber confusiones, y no me conviene meter usuarios para distinguir carpetas por que pongo complicaciones a la hora de enviar el archivo xddd.
De todas formas, el problema esta al leer el archivo, no al abrirlo no creo que sea problema del directorio :S
  #9 (permalink)  
Antiguo 19/11/2008, 07:30
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

Estoy probando, y siempre me salen errores con las funciones fread, fgets,fscanf :S no entiendo por que puede ser eso :S
  #10 (permalink)  
Antiguo 19/11/2008, 08:02
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Adjuntos con mail() de 0k

Cita:
Iniciado por StReO
Xddd el phpinfo lo puse solo para que le echaras un ojo xdd de todas formas no me preocupa demasiado xddd
Yo tampoco me preocupo pero nunca esta demas tener un minimo de seguridad

Cita:
Iniciado por StReO
Haber el move_uploaded_file() no lo he usado, por la siguiente razón, es un formulario para enviar un archivo concreto por mail y siempre tiene el mismo nombre, si distintos usuarios crean el mismo archivo puede haber confusiones, y no me conviene meter usuarios para distinguir carpetas por que pongo complicaciones a la hora de enviar el archivo xddd.
No tienes para que pensar que el archivo lo dejaras alla... solo te lo decia como para subir el archivo al disco, adjuntarlo y luego eliminarlo...

Cita:
Iniciado por StReO
De todas formas, el problema esta al leer el archivo, no al abrirlo no creo que sea problema del directorio :S
Haz tratado poniendo un archivo txt con cualquier cosa para abrirlo y editarlo?

Por ahora no se me ocurre que otra cosa pueda estar sucediendo... trata de poner un error_reporting(E_ALL); en el archivo como para ver si algo sucede por ahi. Tambien podrias intentar un var_dump() del archivo o ver en Firebug (extension de firefox) si es que estas enviando todos los datos, en una de esas el nombre del input file difiere.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #11 (permalink)  
Antiguo 19/11/2008, 09:18
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

....después de tantas horas comiéndome la cabeza he llegado a una conclusión el parchís es una wena opción xdd..

No he definido $adjunto... también es verdad que no soy capaz de definir la no se realmente que parámetro tengo que poner para recibir el contenido del archivo.

He probado con un .txt alojado en el servidor y si que me funciona perfectamente, entonces el problema es que no se como darle la dirección del maldito archivo recogido por post xdd
  #12 (permalink)  
Antiguo 19/11/2008, 09:27
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Adjuntos con mail() de 0k

Mira... llena estos datos:

Mis paginas estan alojadas en este directorio: _________________________
Quiero subir los archivos en este directorio: ___________________________

____________ _________________
Firma Rut

jajaja... estos ultimos no son necesarios

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #13 (permalink)  
Antiguo 19/11/2008, 09:45
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

XDDDDD

Mis paginas estan alojadas en este directorio: /homepages/10/d217952781/htdocs/qh
Quiero subir los archivos en este directorio: /homepages/10/d217952781/htdocs/qh/tmp

Att: Iván xdd
  #14 (permalink)  
Antiguo 19/11/2008, 09:55
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Adjuntos con mail() de 0k

Ok... entonces la variable $adjunto debe ser algo como esto:
Código php:
Ver original
  1. $adjunto = $_FILES['archivo']['tmp_name'];

...y tus datos no nos sirven para nada xD... porque al final estas tomando este temporal y subiendolo... asi que da lo mesmo.

xD
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #15 (permalink)  
Antiguo 19/11/2008, 10:31
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

Gracias Marvin por tu paciencia , xddd pero me da que yo soy demasiado manco para dejarlo tan fácil xddd

Código PHP:
$adjunto $HTTP_POST_FILES['archivo']['tmp_name'];
if (
$HTTP_POST_FILES['adjunto']['size']!=0)
{
$fichero fopen($adjunto'r');
$contenido fread($ficherofilesize($adjunto));
$encoded_attach chunk_split(base64_encode($contenido));
fclose($fichero);

Me sigue dando error... no lo entiendo aunque el proyecto ya casi da= llega tarde xdd, ahora solo quiero verlo funcionar por... que si xdd


PD: He probado http_post_files, y _files a secas xd, tambien he probado a declarar $adjunto dentro y fuera del if
  #16 (permalink)  
Antiguo 19/11/2008, 10:46
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 6 meses
Puntos: 7
Respuesta: Adjuntos con mail() de 0k

tienes permisos de escritura en el directorio /homepages/10/d217952781/htdocs/qh/tmp al que quieres subir???
__________________
No tengo firma ahora... :(
  #17 (permalink)  
Antiguo 19/11/2008, 10:52
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

L puesto 777 a la carpeta, no creo que sea problema del usuario, ya que la carpeta la he creado manualmente.
  #18 (permalink)  
Antiguo 20/11/2008, 17:20
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

MMM, me estoy rallando mucho, ya que no me funciona ningún formulario de carga de archivos, ni en local, ni en servidores externos, pero tampoco me muestran errores ni advertencias.
E probado incluso el ejemplo que hay en la pagina de http://es.php.net y con todas las variantes que veo copy, move_upload, is_upluad_file... el problema siempre es el mismo creo.
Si escribo $HTTP_POST_FILES['adjunto']['size'] me recoje el nombre, incluso el size funciona, pero si escribo $HTTP_POST_FILES['archivo']['tmp_name'] no recojo nada.
  #19 (permalink)  
Antiguo 20/11/2008, 18:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Adjuntos con mail() de 0k



mmm... pero que pasa aqui???

si dices que $HTTP_POST_FILES['adjunto']; si funciona ....

porque le cambias a $HTTP_POST_FILES['archivo']; ???

no crees que ese es el problema... estas usando distintos indices... y cuando aseguras que una va bien, lo cambias por otro?


PDTA: debe ser $_FILES en lugar de $HTTP_POST_FILES pero bueno...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #20 (permalink)  
Antiguo 20/11/2008, 20:06
 
Fecha de Ingreso: agosto-2006
Ubicación: MiCasa-Valencia-España
Mensajes: 116
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Adjuntos con mail() de 0k

pateketrueke, si en el ejemplo puse un indice mal, pero eso lo corregí en el original, y he probado con $_FILES y $HTTP_POST_FILES, ambos me dan el mismo resultado

::: Acabo editar el archivo, lo acabod e dejar asi y ya funciona por arte de magia, ya que esta combinacion ya la tenia antes :S xdd Muchas gracias a todos por vuestra paciencia;) +10000de karma xdd
Código php:
Ver original
  1. $adjunto = $_FILES['adjunto']['tmp_name'];
  2. if ($_FILES['adjunto']['size']!=0)
  3. {
  4. $fichero = fopen($adjunto, 'r');
  5. $contenido = fread($fichero, filesize($adjunto));
  6. $encoded_attach = chunk_split(base64_encode($contenido));
  7. fclose($fichero);
  8. }
Todo el que juegue al wow puede usarlo xddd
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:09.