/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP Form mail m. image
Fra : k_m_s
Vist : 1666 gange
200 point
Dato : 11-01-11 13:50

Hej.
Er det muligt at også få sendt et billede til sin email.

Min index.php

<form enctype="multipart/form-data" method="post" action="mailer.php">
Navn: <input type="text" name="name" size="20"/><br /><br />
Kommentar: <textarea name="message" cols="40" rows="7"> </textarea><br /><br />
Vedhæft gerne billede: <input type="file" name="file" size="30"/><br /><br />
<input type="reset" value="Slet alt"/>
<input type="submit" value="Submit" name="submit"/>
</form>

Min mailer.php

<?php
$to = "mail adr.";
$subject = "Mail fra hjemmesiden";
$name_field = $_POST['name'];
$message = $_POST['message'];
$file = $_POST['file'];
$body = "From: $name_field\n Message:\n $message\n Vedhæftet fil: $file";
mail($to, $subject, $body);
?>

Jeg kan ikke få $file til at komme med i mailen på nogen måde???

Hilsen
Kim

 
 
Accepteret svar
Fra : poul_from

Modtaget 210 point
Dato : 11-01-11 14:00

du skal uploade billedet til serveren først inden det kan sendes videre

du kan finde forklaring her på denne engelske side
http://www.html-form-guide.com/email-form/php-email-form-attachment.html



Kommentar
Fra : ajuul


Dato : 11-01-11 14:07

Det er der to grunde til:
1) fordi din $_POST["file"] er et array udenfor $_POST, så du faktisk skal skrive
Kode
$_FILES["file"]["name"]
for at referere til fil-navnet
2) fordi du skal kode billedet i MIME-format (f.eks. http://www.reginscorner.dk), der har en meget enkel class til formålet:
Se siden:
http://www.reginscorner.dk/index.php/Scripts/Mails_fra_PHP

Derefter bruger du
Kode
include_once("emailclass.php");
   $headers = 'Bcc: mail@mail.dk'. "\r\n";
   $headers .= 'Importance: High';
   $mail = new mimemail(stripslashes($_POST["email"]),stripslashes($_POST["emne"]), stripslashes($_POST["medd"]), stripslashes($_POST["fra"]) , $headers);
   if(isset($_FILES["attach"]["name"])) { $mail->attachfile($_FILES["attach"]["name"], $_FILES["attach"]["tmp_name"], $_FILES["attach"]["type"]); }

   if($mail->sendmimemail()) {
      echo "Mail afsendt<br />";
      print_r($_FILES);
   } else {
      echo "UPS: Der er et problem:<br />POST-var:";
      var_dump($_POST);
      echo "<br />FILES-var:";
      var_dump($_FILES);
   }

Jeg skal have ryddet lidt op i koden (den er ikke helt fin i kanten), men den fungerer.

/ajuul

Godkendelse af svar
Fra : k_m_s


Dato : 13-01-11 11:37

Tak for svaret poul_from.

Tænkte det nok

Også tak til dig ajuul.

Hilsen

Kim

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177564
Tips : 31968
Nyheder : 719565
Indlæg : 6408988
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste