Foros del Web » Programando para Internet » PHP »

adjuntar archivos

Estas en el tema de adjuntar archivos en el foro de PHP en Foros del Web. Hola amigos del foro, estoy en un dilema , soy nuevo en php y estoy haciendo un pequeño programa en el cual quiero adjuntar archivos, ...
  #1 (permalink)  
Antiguo 23/01/2002, 14:47
 
Fecha de Ingreso: enero-2002
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
adjuntar archivos

Hola amigos del foro, estoy en un dilema , soy nuevo en php y estoy haciendo un pequeño programa en el cual quiero adjuntar archivos, como se hace cuendo adjuntamos archivos en los email, esa es la idea aunque en realidad quiero llevarlo a una base de datos en MySql.

Gracias... :(
Doom
  #2 (permalink)  
Antiguo 23/01/2002, 16:38
 
Fecha de Ingreso: julio-2001
Mensajes: 278
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: adjuntar archivos

Pues la soliución tal vez tan solo sea un UPLOAD, para hacer lo de los archivos adjuntos primero tenemos que pasar por un UPLOAD.

<a href="http://www.unitecos.net">
<img src="http://www.soportexpresso.com/pass/correo/agarciaa.jpg" border=0>
</a>
  #3 (permalink)  
Antiguo 23/01/2002, 16:39
 
Fecha de Ingreso: julio-2001
Mensajes: 278
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: adjuntar archivos

Bueno como sea aqui tengo una pseudo explicación de como hacer un atachment:


Cuando tu haces un Upload desde un
&lt;form entype=&quot;multipart/form-data&quot; method=Post&gt;
&lt;input type=&quot;file&quot; name=&quot;archivin&quot;&gt;
&lt;input type=&quot;Submit&quot;&gt;
&lt;/form&gt;


PHP recive el archivo con esta infomación:
$dir_upload = &quot;/home/uploads&quot;; //Si es Guindows &quot;C:/UPLOADS&quot;
$archivin //Archivo Temporal que es con el que se realiza el proceso de UPload
$archivin_name //Nombre del archivo original, ejemplo archivo.txt
$archivo_type //Tipo de archivo como &quot;image/gif&quot;
$archivo_size //Tamaño del Archivo en bytes.
$filename = $dir_upload.$archivin_name; //Nombre de nuestro archivo en el servidor
copy($archivin,$filename) ;


Con esto se completó el UPLOAD, ahora tenemos un arhivo en un directorio conocido.
Lo que sigue es MIME
que se puede colocar en la función mail() de PHP.


$boundary = md5(uniqid(&quot;myboundary&quot;));
$ctype = $archivin_type;
$basename = $archivin_name;

$attach .= chr(13).chr(10).&quot;--$boundary\nContent-type: $ctype;name=\&quot;$basename\&quot;&quot;;
$attach .= &quot;Content-Disposition: inline; filename=\&quot;$basename\&quot;;
$attach .= &quot;Content-Transfer-Encoding: base64

$lineas= filesize($filename)+1;
$fp= fopen( $filename, 'r' );
$atachin = chunk_split(base64_encode(fread( $fp,$lineas)));
fclose($fp);

Y con esto se debe enviar el correo sin Pex...
Bueno eso creo.

mail(&quot;[email protected]&quot;,&quot;Titulo& quot;,$mail_body,
&quot;From: [email protected]\nReply-To: [email protected]\nX-Mailer: PHP/&quot; . phpversion().$attach);

$attach es una variable que originalmente debio haber sido inicializzada en &quot;&quot;, y que al detectar que
hay un archivo adjunto pues agregue el rollo de alla arriba.
Espero que te sirva un poco esto, si lo vez un poco enredado prometo pasarlo en una página que furule
completamente.

Saludos.

<a href="http://www.unitecos.net">
<img src="http://www.soportexpresso.com/pass/correo/agarciaa.jpg" border=0>
</a>
  #4 (permalink)  
Antiguo 23/01/2002, 16:45
 
Fecha de Ingreso: julio-2001
Mensajes: 278
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: adjuntar archivos

Por cierto me falto concatenar las cadenas, justo abajo de fclose($fp);

$attach .= $attach.&quot;\n&quot;.$attachin;

Que de hecho hubiese sido más fácil concatenar desede antes en lugar de usar la variable $attachin. Pero espero que asi funcione.

Saludos.

<a href="http://www.unitecos.net">
<img src="http://www.soportexpresso.com/pass/correo/agarciaa.jpg" border=0>
</a>
  #5 (permalink)  
Antiguo 23/01/2002, 19:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: adjuntar archivos

Otro detalle ...
Aunque en una base de datos Mysql se pueden almacenar datos Binarios (imagenes, ... etc). Te recomiendo que uses el metedo Upload que adjunto el amigo &quot;pie grande&quot; jeje y que hagas solo un referecias al link (path, camino, URL) donde se suban las imagenes en cuestion a tu base de datos .. Las bases de datos no son ilimitadas de espacio y de esta manera agilizas las busquedas en la base de datos.

Saludos,
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:22.