Primero para enviar archivos, el formulario deberá tener una codificación tipo: multipart/form-data
Así quedaría:
Código HTML:
Ver original<form action="enviar.php" method=post enctype="multipart/form-data" name="enviar.php" id="enviar.php">
Nombre:
<input type="text" name="nombre" id="nombre" />
Su correo:
<input type="text" name="correo" id="correo" />Archivo:
<input type="file" name="file" id="file"> <input type="submit" value="Enviar" />
Segundo, te recomiendo guardar las imágenes o archivos que sean subidos a una carpeta de tu web, y así solo enviarte la url completa del archivo.
Ejemplo:
Si tu carpeta se encuentra en la siguiente dirección… www.miweb.com/files/images/
Entonces, antes de enviarte el mensaje a tu email, también envías la url del archivo.
PD: Si no sabes subir archivos a una carpeta, ahí te paso un código básico.
Código PHP:
Ver original<?php
$tamano = $_FILES["file"]['size'];
$archivo = $_FILES["file"]['name'];
if ($archivo != "") {
if($tamano>2097152){//Tamaño maximo en bytes
echo 'Has sobrepaso el peso máximo';
}
//Nombre de la imagen
$name_final=$ran.$archivo;
//Carpeta donde se guardaran los archivos
$carpeta = "www.miweb.com/carpeta/carpeta/".$name_final;
if (!copy($_FILES["file"]["tmp_name"],$destino)) { echo 'No se ha copiado el archivo';
}
}else{
echo 'El archivo esta vacío';
}
?>
y la url de tu archivo, estaria guardada en la variable $carpeta.