Avatar billede webcreator Nybegynder
08. oktober 2003 - 10:49 Der er 11 kommentarer og
1 løsning

Send billede i email via form (PHP)

Hej.

Jeg står og skal til at give mulighed for at sende en email via en form. Til dette billede skal kunne vedhæftes et billede. Men hvordan kan jeg sende et sådan billede efter endt upload ?

På forhånd tak.
Avatar billede hhunden Nybegynder
08. oktober 2003 - 12:50 #1
Jeg går udfra at du mener at du vil sende en email med et vedhæftet billede..
eller hvad??
Avatar billede webcreator Nybegynder
08. oktober 2003 - 12:55 #2
Korrekt.
Pt. har jeg løst problemet ved at lave et link i mail'en til billedets placering på serveren.
Avatar billede hhunden Nybegynder
08. oktober 2003 - 12:59 #3
Men det er vel ikke en acceptabel løsning i længden :o)

Jeg har et script der afsender en email med filen vedhæftet, som jeg gerne sender til dig..

Hvis du lige skriver din email...
Avatar billede ztyxx Nybegynder
08. oktober 2003 - 13:00 #4
hhunden > alle løsninger der belønnes med point, skal være tilgængelige for ekspertens brugere, jvfr. www.eksperten.dk/regler.phtml
Avatar billede ztyxx Nybegynder
08. oktober 2003 - 13:01 #5
iøvrigt er der en glimrende artikel her:
http://delfs.dk/articles/danish/Filer_i_mysql.html
Avatar billede hhunden Nybegynder
08. oktober 2003 - 13:02 #6
ok :o)
Vidste jeg ikke.. jeg syntes bare at det var lidt for meget at skrive...

Here goes:

<?php
# If the user has pushed the "Send" button:
if ($send) {
$body = $message;
$to="your-email@ddress.dk"; //your email address
    # Defining the boundary:
    $boundary = uniqid( "");

    # Making the headers:
    $headers =  "From: $name <$from>
Content-type: multipart/mixed; boundary=\"$boundary\"";
if ($attachment=="") {} else {
    # Determining the MIME type of the uploaded file:
    if ($attachment_type) $mimeType = $attachment_type;
    # If the browser did not specify the MIME type of the uploaded
    # file, we'll just set the MIME type to "application/unknown".
    else $mimeType =  "application/unknown";

    # Determining the file name:
    $fileName = $attachment_name;

    # Opening the file:
    $fp = fopen($attachment,  "r");
    # Reading the entire file into a variable:
    $read = fread($fp, filesize($attachment));

    # OK, now we have a variable named $read
    # that contains the entire file as a text chunk.
    # Now we need to convert that text chunk into
    # something that the mail clients can read.
    # This means we'll have to encode it with base64.
    $read = base64_encode($read);

    # Now we've got a long text base64 encoded
    # text string. The next thing we need to do
    # is to convert that long string to
    # small pieces consisting of 76 characters
    # per line.
    $read = chunk_split($read);

    # Now we can create the mail body:
    $body =  "--$boundary
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 8bit

$body

--$boundary
Content-type: $mimeType; name=$fileName
Content-disposition: attachment; filename=$fileName
Content-transfer-encoding: base64

$read

--$boundary--";
};
    # Mailing the whole thing:
    mail($to, $subject, $body, $headers, "-fjakob@brynitz.dk" );
};

?>

<SCRIPT>
function validate() {
mfv=form.from.value;
mnv=form.name.value;
msv=form.subject.value;
mmv=form.message.value;
if (mfv=='') {
alert('du skal indtaste din email adresse. prøv venligst igen.');
event.returnValue=false;
}
else if (mnv=='') {
alert('du skal indtaste dit navn. prøv venligst igen.');
event.returnValue=false;
}
else if (msv=='') {
alert('du skal indtaste et emne. prøv venligst igen.');
event.returnValue=false;
}
else if (mmv=='') {
alert('du skal indtaste en besked. prøv venligst igen.');
event.returnValue=false;
}
}
</SCRIPT>
<p><form name="form" action='<?php echo $PHP_SELF ?>' enctype='multipart/form-data' method='post' class="form-form" onSubmit="validate();">
    e-mail: <br>
    <input type='text' name='from' class="formobject">
    <br>
    navn: <br>
    <input name="name" type="text" class="formobject">
    <br>
    emne: <br>
    <input type='text' name='subject' class="formobject">
    <br>
    vedh&aelig;ft fil: <br>
    <input type='file' name='attachment' class="formobject">
    <br>
    besked:<br>
    <textarea name='message' rows="5" class="formobject"></textarea>
    <br><br>
<input type='submit' name='send' class="formobject"  value='send'>

</form>
</p>
Avatar billede hhunden Nybegynder
08. oktober 2003 - 13:03 #7
---> ztyxx

men han vil jo ikke gemme filen i databasen, men vedhæfte den til en email...
Avatar billede hhunden Nybegynder
08. oktober 2003 - 13:05 #8
ups... og vær lige så venlig at ændre delen med :
# Mailing the whole thing:
    mail($to, $subject, $body, $headers, "-fjakob@brynitz.dk" );
til:
# Mailing the whole thing:
    mail($to, $subject, $body, $headers, "-fdin-email@ddress.dk" );

:0)

Sådan går det når man har for travlt....
Avatar billede ztyxx Nybegynder
09. oktober 2003 - 21:38 #9
Avatar billede hhunden Nybegynder
09. oktober 2003 - 21:42 #10
ah!... så giver det jo mening :D
Avatar billede ztyxx Nybegynder
09. oktober 2003 - 21:43 #11
hehe, ja der er en forklaring på alt, næsten.....
Avatar billede webcreator Nybegynder
19. oktober 2003 - 17:52 #12
takker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester