Es algo un poco largo de explicar, yo lo haría de esta forma:
1. La cabecera del form:
Código HTML:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"method="post" enctype="multipart/form-data">
Pondría el enctype="multipart/form-data" que es para subir archivos, el tipico boton de examinar para subir tu imagen.
2. Crear el campo del archivo
Código HTML:
<input type="file" name="archivo"/>
El formulario quedaría asi
Código HTML:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"method="post" enctype="multipart/form-data">
<input type="file" name="archivo"/>
<input type="submit" value="Enviar"/>
</form>
3. Recoger la información cuando el usuario pulse el boton Enviar
utilizando la variable $_FILES["archivo"] y la función move_upload
Ejemplo de move_uploaded_file:
Código PHP:
$directorio_subidas = '/subidas';
foreach ($_FILES["imagenes"]["error"] as $clave => $error) {
if ($error == UPLOAD_ERR_OK) {
$nombre_tmp = $_FILES["imagenes"]["tmp_name"][$clave];
$nombre = $_FILES["imagenes"]["name"][$clave];
move_uploaded_file($nombre_tmp, "$directorio_subidas/$nombre");
}
}
Un enlace dónde explica la función: http://es2.php.net/manual/es/function.move-uploaded-file.php
Y por último utilizando la función mail o PhpMail me enviaría la url dónde esta alojada la imagen en tu servidor y así no tienes que adjuntar imagenes.
Enlace función mail: http://es2.php.net/manual/es/function.mail.php
Espero te ayude, un saludo!